美文网首页
matploylib生成以日期为x轴的图片

matploylib生成以日期为x轴的图片

作者: markDownMan | 来源:发表于2018-09-02 22:35 被阅读37次

1.从np或者list格式,转化成日期类型的数据,

2.pandas数据的话,可以先转np格式

暂时没找到直接从dataframe转成日期类型的方法


plt.figure()

df= pd_list.loc[:, ['opt1', 'opt2']]

df= DataFrame(df)

y= df

# 生成横纵坐标信息

dates= pd_list.loc[:, ['date']]

#np

np_dates= np.array(dates)

#列表

list_dates= np_dates.tolist()

# 生成横纵坐标信息

#dates= ['2018-08-31 18:24:32', '2018-08-31 18:26:32', '2018-08-31 18:28:32']

xs= [datetime.strptime(d[0], '%Y-%m-%d %H:%M:%S') for din np_dates]

#xs = [d[0] for d in np_dates]#如果只有这个,而没有对字符串进行date格式的转换,生成的图表x轴为空

print("xs:", xs)

# 配置横坐标

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d %H:%M:%S'))

#以天为时间间隔

plt.gca().xaxis.set_major_locator(mdates.DayLocator(interval=5))

#plt.xticks(pd.date_range(list_dates[0][0], list_dates[-1][0], freq='1440min'))

#这里的xs可以是dataframe类型,但是因为日期是字符串,所以不能直接使用,得先进行日期类型转化

plt.plot(xs, y)

plt.gcf().autofmt_xdate()  # 自动旋转日期标记

plt.show()


相关文章

网友评论

      本文标题:matploylib生成以日期为x轴的图片

      本文链接:https://www.haomeiwen.com/subject/dzkvwftx.html