超详细plotly画折线图例子----记录自己背单词

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值