使用matplotlib

时间:2018-11-14 07:23:40

标签: python datetime matplotlib timedelta

我有以下数据集:

pressuredfjan1[['Unit','Time1']].head()
Out[53]: 
       Unit               Time1
0  321.3599 1970-01-01 00:00:40
1  321.3599 1970-01-01 00:04:40
2  321.6651 1970-01-01 00:06:40
3  320.7496 1970-01-01 00:10:40
4  322.2755 1970-01-01 00:14:40

我正在尝试以HH:MM:SS格式针对Unit绘制Time1。 我尝试了以下代码:

dates = dates.date2num(list(pressuredfjan1['Time1']))
fig = plt.figure(figsize=(20,10))
ax1 = fig.add_subplot(111)
ax1.plot(dates,pressuredfjan1['Unit'])
plt.show()

这给了我绘图,但是我没有在x轴上获得HH:MM:SS格式。相反,我得到3.1、3.2、3.4 ... Le14等。有人可以在这里帮助我吗?谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用:

import matplotlib as mpl

pressuredfjan1['dates'] = pd.to_datetime(pressuredfjan1['Time1']).dt.strftime('%H:%M:%S')
fig = plt.figure(figsize=(20,10))
ax1 = fig.add_subplot(111)
majorFormatter = mpl.dates.DateFormatter('%H:%M:%S')
ax1.xaxis.set_major_formatter(majorFormatter)
plt.plot_date(pressuredfjan1['dates'], pressuredfjan1['Unit'])
plt.show()

enter image description here