[英]python matplotlib.pyplot doesn't rendering timeseries plot
ax.plot()
doesn't render the time series plot, while pandas.plot()
and plt.scatter()
works. ax.plot()
不会渲染时间序列图,而pandas.plot()
和plt.scatter()
可以工作。 But because I need to reform my axis, I need to use ax.plot()
. 但是因为我需要调整轴,所以需要使用ax.plot()
。
My data: 我的资料:
When I try to plot it: ax=df_cuba['ORD'].plot()
当我尝试绘制它时: ax=df_cuba['ORD'].plot()
It works perfectly: 它完美地工作:
But when I try to use : plt.plot(x=df_cuba.index,y=df_cuba['ORD'])
但是当我尝试使用时: plt.plot(x=df_cuba.index,y=df_cuba['ORD'])
It shows nothing: 它什么也没显示:
It also works for scatterplot
. 它也适用于scatterplot
。
I couldn't find any posts about this. 我找不到有关此的任何帖子。 I suspect the py.plot
is trying a different way to plot time series data. 我怀疑py.plot
正在尝试以其他方式绘制时间序列数据。
plot
does not have named x
and y
arguments. plot
没有命名的x
和y
参数。 So suppose you have xdata
and ydata
you want to plot, you cannot use
, but instead need 因此,假设您有要绘制的plt.plot(x=xdata, y=ydata)
xdata
和ydata
,则不能使用
,而需要 plt.plot(x=xdata, y=ydata)
plt.plot(xdata, ydata)
For scatter this is different, here you can use both 对于散布,这是不同的,在这里您可以同时使用
plt.scatter(xdata, ydata)
plt.scatter(x=xdata, y=ydata)
我发现了真正的原因: plt.plot
只能绘制数值数据,因此,如果要使用np.datetime64
或pd.datetime
格式绘制时间序列数据,则需要使用以下命令:
plt.plot_date(date, y)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.