Matplotlib:带有日期和数值的散点图

时间:2017-07-14 17:18:45

标签: python pandas matplotlib

我想生成一个简单的散点图,其中X轴为日期,Y轴为数值,我遇到类型提升错误。 数据来自大熊猫数据帧。

这是我在

中的一小部分值

X(熊猫系列):

....
179   2016-11-08 18:03:00
180   2016-11-08 18:16:00
181   2016-11-08 18:18:00
182   2016-11-08 18:19:00
183   2016-11-08 18:20:00
184   2016-11-08 18:21:00

名称:日期,长度:185,dtype:datetime64 [ns]

Y轴不是问题:

....
180    18.266667
181    18.300000
182    18.316667
183    18.333333
184    18.350000

长度:185,dtype:float64

如果我这样做:

plt.scatter(X,Y)
plt.show()

我收到类型促销错误。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:3)

您收到此错误是因为plt.scatter()仅接受列表作为参数,您需要先使用pandas.Series.tolist()将X数据转换为列表,然后对其进行分散。假设您的数据是Pandas DataFrame,其中df['dates']是您的日期列,df['values']是您的值列:

plt.scatter(df['dates'].tolist(), df['values'])
plt.show()