这是熊猫0.15中的``回归’‘(由于Index的重构),请参见https://github.com/matplotlib/matplotlib/issues/3727和https://github.com/pydata/pandas/issues/8614,但 。
简而言之:matplotlib现在将pandas索引视为一个datetime64[ns]
值数组(实际上是非常大的int64s),而不是先前版本的pandas中的Timestamps数组(属于datetime.datetime的子类,可以由matplotlib处理)。 。因此,根本原因是matplotlib不会将datetime64作为日期值处理,而是将其作为整数。
对于熊猫0.15.0(但最好将其升级到新版本),有两种可能的 :
注册datetime64
类型,因此matplotlib也将其作为日期处理:
units.registry[np.datetime64] = pd.tseries.converter.DatetimeConverter()
或DatetimeIndex(具有datetime64值)转换成的阵列datetime.datetime
值与to_pydatetime
方法,并绘制这样的:
ax1.plot(data.index.to_pydatetime(), data.GS10)
相关问题:使用matplotlib在x轴上绘制datetimeindex会在熊猫0.15中产生错误的刻度,而0.14则相反