python matplotlib.pyplot不渲染时间序列图

时间:2019-03-18 17:14:10

标签: python matplotlib plot timeserieschart

ax.plot()不会渲染时间序列图,而pandas.plot()plt.scatter()则有效。但是因为我需要调整轴,所以需要使用ax.plot()

我的数据:

enter image description here

当我尝试绘制它时: ax=df_cuba['ORD'].plot()

它运作完美:

enter image description here

但是当我尝试使用时: plt.plot(x=df_cuba.index,y=df_cuba['ORD'])

它什么也没显示:

enter image description here

它也适用于scatterplot

我找不到与此相关的任何帖子。我怀疑py.plot正在尝试以其他方式绘制时间序列数据。

2 个答案:

答案 0 :(得分:0)

plot没有命名的xy参数。因此,假设您要绘制xdataydata,则不能使用 plt.plot(x=xdata, y=ydata) ,而需要

plt.plot(xdata, ydata)

对于散布,这是不同的,在这里您可以同时使用

plt.scatter(xdata, ydata)
plt.scatter(x=xdata, y=ydata)

答案 1 :(得分:-1)

我发现了真正的原因:plt.plot仅能绘制数字数据,因此,如果要绘制np.datetime64pd.datetime格式的时间序列数据,则需要使用以下命令:

plt.plot_date(date, y)