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