繁体   English   中英

如何为每个地区的每一年做一个堆积条形图来计算 Quantity_Sold 的总和(或平均值)? Python

[英]How to do a Stacked Barplot for each Year per Region to calculate the sum(or average) of Quantity_Sold? Python

我不知道从哪里开始,我试图得到一个如下所示的图表:

在此处输入图像描述

y_axis 表示每年和每个地区的销售数量总和,如图所示

数据集可用于:

dataset = {'Year': [2019,2020,2020,2019,2019,2020,2017,2017,2018,2020,2018,2016],
           'Quantity': [100,50,25,30,40,50,200,600,20,40,100,20],
           'Regions': ['Europe','Asia','Africa','Africa','Other','Asia','Africa','Other','America','America','Europe','Europe']}
df = pd.DataFrame(data=dataset)

另外我不确定在这种情况下使用 matplotlib 或 seaborn 是否更好。

我试过了,但它似乎不起作用:

dfc_vol = dfc[['Year','Quantity','Regions']]
plt.rcParams['figure.figsize']=(10,6)
dfc_vol.plot(kind='bar', stacked=True)
plt.legend(bbox_to_anchor=(1.1,0.5))

也许一个选项首先使用pivot_table重塑数据:

df_pt = df.pivot_table(index='Year', columns='Regions', values='Quantity')

df_pt.plot.bar(stacked=True, figsize=(10, 6))

Output:

在此处输入图像描述

seaborn >= 0.11.0:

sns.histplot(
    data=df,
    x="Year", hue="Regions", weights="Quantity",
    multiple="stack", discrete=True, shrink=.9
)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM