在matplotlib中创建一个Scatter Plot,其中x轴上的日期和y上的值

时间:2016-07-07 23:21:15

标签: python list statistics scatter

我在制作一个包含日期数组和一堆PM 2.5值的散点图时遇到问题。我的列表如下所示:

dates = ['2015-12-20','2015-09-12']  
PM_25 = [80, 55]

3 个答案:

答案 0 :(得分:6)

import pandas as pd
dates = ['2015-12-20','2015-09-12']  
PM_25 = [80, 55]
dates = [pd.to_datetime(d) for d in dates]

plt.scatter(dates, PM_25, s =100, c = 'red')

s设置大小 c设置颜色

还有很多其他的args: http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.scatter

答案 1 :(得分:1)

如果绘图中的数据包含日期,则可以使用 plot_date

  

类似于plot()命令,除了x或y(或两者)数据为   视为日期,并标记了轴。

首先将列表转换为日期时间,如@RSHARP所示,

dates = [pd.to_datetime(d) for d in dates]

然后您可以使用plot_date

plt.plot_date(dates, PM_25, c = 'red')

答案 2 :(得分:0)

大熊猫数据框通常更为常见。所以对我来说很有效:

import pandas as pd
dates = ['2015-12-20','2015-09-12']  
PM_25 = [80, 55]
data = pd.DataFrame({'dates':pd.to_datetime(dates),'PM_25':PM_25})
data.plot(x='dates',y='PM_25',marker='o',linestyle='none')

,您可以定义如下:

data.plot(x='dates',y='PM_25',marker='o',linestyle='none',color='red',ms=3)