使用Pandas数据帧索引作为matplotlib图中x轴的值

Jas*_*son 14 python plot matplotlib pandas

我在Pandas中有时间序列dateframe,有许多列我想绘制.有没有办法将x轴设置为始终使用索引dateframe?当我使用.plot()Pandas中的方法时,x轴格式正确,但是当我传递日期和列时,我想直接绘制到matplotlib,图表没有正确绘制.提前致谢.

plt.plot(site2.index.values, site2['Cl'])
plt.show()
Run Code Online (Sandbox Code Playgroud)

产量

仅供参考:site2.index.values产生这个(我为了简洁我切掉了中间部分):

array([
    '1987-07-25T12:30:00.000000000+0200',
    '1987-07-25T16:30:00.000000000+0200',
    '2010-08-13T02:00:00.000000000+0200',
    '2010-08-31T02:00:00.000000000+0200',
    '2010-09-15T02:00:00.000000000+0200'
], 
dtype='datetime64[ns]')
Run Code Online (Sandbox Code Playgroud)

Jas*_*son 9

问题似乎是我有.values. 没有它(即site2.index)图形显示正确。


ycy*_*ycy 7

您可以使用plt.xticks设置x轴

尝试:

plt.xticks( site2['Cl'], site2.index.values ) # location, labels
plt.plot( site2['Cl'] )
plt.show()
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅文档:http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.xticks