python中所有国家/地区的每月条形图
我有来自不同国家的温度和日期数据python中所有国家/地区的每月条形图,python,pandas,dataframe,matplotlib,Python,Pandas,Dataframe,Matplotlib,我有来自不同国家的温度和日期数据 Date Temperature Units Year Month Statistics Country CODE Jan 1991 -26.2 Celsius 1991 Jan Average Canada CAN Feb 1991 -21.0 Celsius 1991 Fe
Date Temperature Units Year Month Statistics Country CODE
Jan 1991 -26.2 Celsius 1991 Jan Average Canada CAN
Feb 1991 -21.0 Celsius 1991 Feb Average Canada CAN
Mar 1991 -18.2 Celsius 1991 Mar Average Canada CAN
Apr 1991 -8.6 Celsius 1991 Apr Average Canada CAN
May 1991 0.8 Celsius 1991 May Average Canada CAN
我只想为1991年的每个月做一个条形图。我想创建一个循环,最后,我得到12个图,每个图有五个不同的条(国家),显示1991年每个国家的温度
我这样做:
tempcountries.groupby(['Country','Month']).plot.bar(y='Temperature',legend=True)
plt.title("Monthly AVerage Temperature")
plt.xlabel('Time')
plt.ylabel('Average Temperature °C')
plt.show()
但我每个国家每个月都有一块地,不是所有国家每个月都有。
你能帮我吗
tempcountries.groupby(['Month']).plot.bar(x='Country', y='Temperature',legend=True)
如果您希望将这些放在一个图中,seaborn包提供了一个很好的界面,用于从数据帧中的分类变量创建图形网格
import seaborn as sns
g = sns.FacetGrid(tempcountries, col="Month")
g.map_dataframe(sns.barplot, y="Temperature", x="Country")
Seaborn软件包可以为您轻松实现这一点
import seaborn as sns
# Plot all countries for each month
sns.catplot(x = 'Country', y = 'Temperature', col = 'Month', kind = 'bar',
data = tempcountries[tempcountries['Year'] == 1991]
)