我有一个数据框,它记录了不同年份不同地点的观测数量。我试图制作一个条形图,在这里我可以显示不同年份在不同地点的观测总数。对于每个位置,我希望不同年份的总观测值以不同的颜色显示。 我的方法是首先建立位置组,并为每个位置组计算总观察值。(我不认为我需要将索引更改为最新,因为我是按位置分组的)。非常感谢您的帮助
fig, ax = plt.subplots(figsize=(40,15))
date=df['date']
value=df['value']
df.date = pd.to_datetime(df.date)
year_start=2015
year_stop = 2019
#ax=plt.gca()
for year in range(year_start, year_stop+1):
ax=plt.gca()
m=df.groupby(['location']).agg({'value': ['count']})
plt.ylim(0,45000)
m.plot(kind='bar', legend = False, figsize=(30,15), fontsize = 30)
#ax.tick_params(axis='both', which='major', labelsize=25)
plt.ylabel('Number of observations - O3', fontsize = 30, fontweight = 'bold')
plt.legend(loc='upper right', prop={'size': 7})
fig_title='Diurnal_'+place
plt.savefig(fig_title, format='png',dpi=500, bbox_inches="tight")
print ('saved=', fig_title)
plt.show()
The header looks like this:
date_utc date parameter \
212580 {utc=2020-01-05T05:45:00.000Z 2020-01-05T11:15:00+05:30 o3
212581 {utc=2020-01-05T05:45:00.000Z 2020-01-05T11:15:00+05:30 o3
212582 {utc=2020-01-05T05:45:00.000Z 2020-01-05T11:15:00+05:30 o3
212583 {utc=2020-01-05T05:45:00.000Z 2020-01-05T11:15:00+05:30 o3
212584 {utc=2020-01-05T05:45:00.000Z 2020-01-05T11:15:00+05:30 o3
location value unit city \
212580 ICRISAT Patancheru, Mumbai - TSPCB 37.7 µg/m³ Hyderabad
212581 Bollaram Industrial Area, Surat - TSPCB 39.5 µg/m³ Hyderabad
212582 IDA Pashamylaram, Surat - TSPCB 17.8 µg/m³ Hyderabad
212583 Sanathnagar, Hyderabad - TSPCB 56.6 µg/m³ Hyderabad
212584 Zoo Park, Hyderabad - TSPCB 24.5 µg/m³ Hyderabad
因为我无法完全复制您的示例,所以根据我的理解实现了一个玩具示例。如果我理解错了,请告诉我。这是我的密码:
该代码将显示一个条形图,其中每个位置将位于x轴,其总计数位于y轴。此外,每个独特的年份都会在条形图中有自己的条形图。像这样:
相关问题 更多 >
编程相关推荐