import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
import numpy as np
py.offline.init_notebook_mode()
#写入数据
# -*- coding: utf-8 -*-
# 例如输入的line是:1 2 3 4
# 对于字符串,先使用split方法按空格进行分割,结果为:['1', '2', '3', '4']
# 然后map函数将int函数迭代作用到每个元素上,最后用list使其成为一个整型数组
line = input("顺序输入:00//10//30//60//90:")
zz = list(map(int, line.split()))
print(zz)
with open("00.txt","a") as f:
f.write("\n"+str(zz[0])) # 自带文件关闭功能,不需要再写f.close()
with open("10.txt","a") as f:
f.write("\n"+str(zz[1])) # 自带文件关闭功能,不需要再写f.close()
with open("30.txt","a") as f:
f.write("\n"+str(zz[2])) # 自带文件关闭功能,不需要再写f.close()
with open("60.txt","a") as f:
f.write("\n"+str(zz[3])) # 自带文件关闭功能,不需要再写f.close()
with open("90.txt","a") as f:
f.write("\n"+str(zz[4])) # 自带文件关闭功能,不需要再写f.close()
#读取数据
y00=np.array([])
with open("00.txt", "r") as f:
for line in f.readlines():
line = line.strip('\n') #去掉列表中每一个元素的换行符
st=np.array(line)
y00=np.append(y00,st)
# print(line)
f.close()
y10=np.array([])
with open("10.txt", "r") as f:
for line in f.readlines():
line = line.strip('\n') #去掉列表中每一个元素的换行符
st=np.array(line)
y10=np.append(y10,st)
# print(line)
f.close()
y30=np.array([])
with open("30.txt", "r") as f:
for line in f.readlines():
line = line.strip('\n') #去掉列表中每一个元素的换行符
st=np.array(line)
y30=np.append(y30,st)
# print(line)
f.close()
y60=np.array([])
with open("60.txt", "r") as f:
for line in f.readlines():
line = line.strip('\n') #去掉列表中每一个元素的换行符
st=np.array(line)
y60=np.append(y60,st)
# print(line)
f.close()
y90=np.array([])
with open("90.txt", "r") as f:
for line in f.readlines():
line = line.strip('\n') #去掉列表中每一个元素的换行符
st=np.array(line)
y90=np.append(y90,st)
# print(line)
f.close()
print(y00)
print(y10)
print(y30)
print(y60)
print(y90)
trace11=go.Scatter(
name="已加入记忆规划全部单词",
# x=[-1, 0, 1, 2, 3, 4, 5],
# y=trace11.y,
x=np.array(range(-1,len(y00))),
y=np.array(y00),
# x=np.range()
# x=[-1,0],
# y=[3300,3371],
# x=range(-1,len(trace11.y))
# trace11.x=np.array(x)
text=['记录起点:2020/5/8'],
textposition="top center",
mode="lines+markers+text",
# marker=dict(
# size=[2,2,2]
# )
)
trace22=go.Scatter(
name="记忆持久度>10天词汇量",
x=np.array(range(-1,len(y10))),
y=np.array(y10),
# x=[-1,0],
# y=[2400,2459],
text=['梅'],
textposition="top center",
mode="lines+markers+text",
# marker=dict(
# size=[20,20,20]
)
trace33=go.Scatter(
name="记忆持久度>30天词汇量",
x=np.array(range(-1,len(y30))),
y=np.array(y30),
# x=[-1,0],
# y=[1900,1944],
text=['兰'],
textposition="top center",
mode="lines+markers+text",
# marker=dict(
# size=[20,20,20]
)
trace44=go.Scatter(
name="记忆持久度>60天词汇量",
x=np.array(range(-1,len(y60))),
y=np.array(y60),
# x=[-1,0],
# y=[650,699],
text=['竹'],
textposition="top center",
mode="lines+markers+text",
# marker=dict(
# size=[20,20,20]
)
trace55=go.Scatter(
name="记忆持久度>90天词汇量",
x=np.array(range(-1,len(y90))),
y=np.array(y90),
# x=[0],
# y=[0],
text=['菊'],
textposition="top center",
mode="lines+markers+text",
# marker=dict(
# size=[20,20,20]
)
axis_x=dict(
showgrid=True, #网格
zeroline=True, #是否显示基线,即沿着(0,0)画出x轴和y轴
nticks=20,
showline=True,
title='时间足迹',
mirror='all',
zerolinecolor="#111111"
#设置刻度的范围及刻度
# autorange=False,
# range=[0, 365],
# type='linear',
)
axis_y=dict(
showgrid=True, #网格
zeroline=True, #是否显示基线,即沿着(0,0)画出x轴和y轴
nticks=20,
showline=True,
title='单词数量',
mirror='all',
zerolinecolor="#111111"
#设置刻度的范围及刻度
# autorange=False,
# range=[0, 365],
# type='linear',
)
layout=go.Layout(
# 5.R 190 G 237 B 199
plot_bgcolor='rgb(190, 237, 199)',
# plot_bgcolor='#E6E6FA',#图的背景颜色
paper_bgcolor='#F8F8FF',#图像的背景颜色
# autosize=False,width=1250,height=640,#设置图像的大小
autosize=False,width=10000,height=640,#设置图像的大小
title = '虚织何成的英语单词足迹',
titlefont=dict(family='华文行楷',color='rgb(38, 188, 213)',size=48),
# title.x=0.5,title.y=1.2,
# titleposition="top center",
#设置y轴的刻度和标签 8.R 230 G 206 B 172
yaxis=dict(title='单词数量',#设置坐标轴的标签
titlefont=dict(family='华文行楷',color='rgb(25, 203, 173)',size=30),#设置坐标轴标签的字体及颜色
tickfont=dict(color='rgb(230, 206 ,172)',size = 18,),#设置刻度的字体大小及颜色
# showticklabels=False,#设置是否显示刻度
#设置刻度的范围及刻度
autorange=True,
# fixedrange =True,
# range=[0, 10000],
# type='linear'
),
#设置x轴的刻度和标签 1.R 25 G 202 B 173
xaxis=dict(title='时间足迹',#设置坐标轴的标签
titlefont=dict(family='华文行楷',color='rgb(25, 203, 173)',size=30),
tickfont=dict(color='rgb(230, 206 ,172)',size =10,),
tickmode = "linear",
# nticks =100,
# tick0 =10,
dtick =1,
tickangle=270,#设置刻度旋转的角度
# showticklabels=False,#设置是否显示坐标轴
#设置刻度的范围及刻度
autorange=False,
range=[-3, 300],
fixedrange =True,
type='linear'
),
# xaxis=axis_x,
# yaxis=axis_y,
# xaxis = go.layout.XAxis(range = [0,365], domain = [0,1]),
# yaxis = go.layout.YAxis(range = [0,10000], domain = [0,1]),
# 设置图例相对于左下角的位置
legend=dict(
x=0,
y=1.4,
font=dict(family='sans-serif',size=13,color='black'),#设置图例的字体及颜色
bgcolor='#E6E6FA',bordercolor='#FFFFFF'#设置图例的背景及边框的颜色
),
showlegend=True,
)
data=[trace11, trace22,trace33, trace44, trace55]
# data=[trace1]
fig=go.Figure(data=data, layout=layout)
py.iplot(fig)
py.plot(fig,filename='C:/Users/文远/Desktop/word/英语单词.html',#会生成一个网页文件
image='jpeg',)#设置保存的文件类型
# py.offline.plot(fig,filename='E_word.html')# html画
# import os
# os.chdir('C:/Users/文远/Desktop/word')
代码还是很详细的对于各种画图的设置,但是虽然能在浏览器打开,但是好像并不能在其他电脑打开,明天我试一试,
效果如下:
感Jio这个好像没用:file:///C:/Users/%E6%96%87%E8%BF%9C/Desktop/word/E_word.html