社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
这是一个师兄交付的代码中的一段,他这个方法画出来的图是真的很好用,自己现在画什么都用这个方法来画,所以分享给大家。
import下面一段为简单的赋值,df_part1是三条线的横坐标,为时间字符串;剩下的df_part234分别为一些随机数。
import numpy as np
import datetime
from plotly.graph_objs import *
import plotly.offline as py_offline
import random
df_part1 = []
df_part2 = []
df_part3 = []
df_part4 = []
for i in np.arange(20180501,20180531,1):
i = str(i)
a = datetime.datetime.strptime(i, '%Y%m%d')
df_part1.append(a)
df_part2.append(random.uniform(0, 30))
df_part3.append(random.uniform(10, 20))
df_part4.append(random.uniform(5, 50))
scatter_1 = Scatter(
x=df_part1,
y=df_part2,
mode='lines',
name='abc_1'
)
scatter_2 = Scatter(
x=df_part1,
y=df_part3,
mode='lines',
name='abc_2'
)
scatter_3 = Scatter(
x=df_part1,
y=df_part4,
mode='lines',
name='abc_3'
)
plot_data = Data([scatter_1,scatter_2,scatter_3])
layout = Layout(
title='tryingline'
)
fig = Figure(data=plot_data, layout=layout)
py_offline.plot(fig, filename='try')
layout = Layout(
title='try',
showlegend=False
)
生成的是一个HTML文件,文件名为try。
首先,我觉得X轴的时间写法挺好看的;
其次,三条线画在这一张画布上,右上角的小图标,可以选择显示哪条线;
最后,在画布上框选部分区域,可以局部放大,而且不失真。如果数据量比较大,可以清晰地局部放大真的非常有用。
放大前:
放大后:
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!