按时间分组的值绘制颜色散点图

时间:2016-07-19 18:58:27

标签: python pandas matplotlib

我有一个DataFrame dfp,其中的列包括saledate(在DateTime中),days_to_sell(作为int)和price(作为{ {1}})。使用以下代码,

int

我生成以下图:

enter image description here

这些点由import pandas as pd dfp_week = dfp.groupby(pd.TimeGrouper(key='saledate', freq='W')).mean() fig, ax = plt.subplots() ax.scatter(dfp['saledate'].values, dfp['price']/1000.0, c=dfp['days_to_sell'].values) ax.plot_date(dfp_week.index, dfp_week['price']/1000.0, 'r-') xmin,xmax=plt.xlim() plt.xlim([datetime.datetime(2015,1,1), xmax]) ax.set_xlabel('Date of sale') ax.set_ylabel('Most recent asking price (1,000 euros)') plt.title('Property sales in Amsterdam') fig.autofmt_xdate() 着色,但是有太多的点无法看到数据中的趋势。另一方面,如果我将days_to_sell本身与其每周平均值一起绘制,

days_to_sell

我得到了

enter image description here

显示最近的一个明显的升温'房地产市场。我想按照fig2, ax2 = plt.subplots() plt.plot(dfp['saledate'],dfp['days_to_sell'].values,'.') plt.plot_date(dfp_week.index, dfp_week['days_to_sell'].values,'r-') plt.xlabel('Date of sale') plt.ylabel('Days on the market') plt.title('Time to sell') plt.ylim([0,300]) fig2.autofmt_xdate() 的每周平均值,而不是单个值,为图中的所有点着色。我怎么能这样做?

0 个答案:

没有答案