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]
            )