pandas python多 Dataframe 的多条形图

7gyucuyw  于 2023-03-28  发布在  Python
关注(0)|答案(1)|浏览(135)

我有6个dataframes,每个区域一个。我正在提取value_counts。我想绘制一个多条形图。就像在图像中一样。exept每组条形图都是针对每个区域的。每个区域的条形图代表一个event_type,y轴代表value_count。
我怎么能做到这一点。我不能到绘图multiple事件一起为所有地区

这些是 Dataframe df_asia,df_africa...

df = pd.read_csv(asia)
df_asia = df['EVENT_TYPE'].value_counts().rename_axis('events').reset_index(name='counts')

df = pd.read_csv(africa)
df_africa = df['EVENT_TYPE'].value_counts().rename_axis('events').reset_index(name='counts')

df = pd.read_csv(europe)
df_europe = df['EVENT_TYPE'].value_counts().rename_axis('events').reset_index(name='counts')

df = pd.read_csv(america)
df_america = df['EVENT_TYPE'].value_counts().rename_axis('events').reset_index(name='counts')

df = pd.read_csv(latin_america)
df_latin_america = df['EVENT_TYPE'].value_counts().rename_axis('events').reset_index(name='counts')

df = pd.read_csv(middle_east)
df_middle_east = df['EVENT_TYPE'].value_counts().rename_axis('events').reset_index(name='counts')
s3fp2yjn

s3fp2yjn1#

你可以在连接你的dataframe后使用pandas的plot.bar

import matplotlib.pyplot as plt

out = pd.concat([
    df_asia.value_counts('EVENT_TYPE').rename_axis('Events').rename('Asia'),
    df_africa.value_counts('EVENT_TYPE').rename_axis('Events').rename('Africa'),
    df_europe.value_counts('EVENT_TYPE').rename_axis('Events').rename('Europe'),
], axis=1).T
out.plot.bar(rot=0, figsize=(12, 8), xlabel='Countries', ylabel='Cases')
plt.show()

输出

相关问题