【问题标题】:python matplotlib.pyplot doesn't rendering timeseries plotpython matplotlib.pyplot 不渲染时间序列图
【发布时间】:2019-03-18 17:14:09
【问题描述】:

ax.plot() 不渲染时间序列图,而 pandas.plot()plt.scatter() 有效。但是因为我需要改造我的轴,我需要使用ax.plot()

我的数据:

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

完美运行:

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

什么都不显示:

它也适用于scatterplot

我找不到任何关于此的帖子。我怀疑py.plot 正在尝试一种不同的方式来绘制时间序列数据。

【问题讨论】:

  • 剧情后你可能是plt.show()
  • 谢谢,但它也不会改变结果。

标签: python matplotlib plot timeserieschart


【解决方案1】:

plot 没有命名 xy 参数。所以假设你有xdataydata你想绘图,你不能使用plt.plot(x=xdata, y=ydata),而是需要

plt.plot(xdata, ydata)

对于 scatter,这是不同的,在这里你可以同时使用

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

【讨论】:

  • 感谢您的回答,但plt.plot(x,y) 不会改变结果。
  • 确实如此。我在这个答案中解释了原因。
【解决方案2】:

我找到了真正的原因:plt.plot只能绘制数值数据,所以如果我们想绘制np.datetime64pd.datetime格式的时间序列数据,我们需要使用以下命令:

plt.plot_date(date, y)

【讨论】:

  • 问题中甚至没有date
猜你喜欢
  • 2018-11-11
  • 1970-01-01
  • 1970-01-01
  • 2022-06-19
  • 2010-11-13
  • 2015-07-27
  • 2016-04-14
  • 1970-01-01
  • 2021-02-22
相关资源
最近更新 更多