繁体   English   中英

堆叠条 plot 与 seaborn 或 matplotlib,具有色调

[英]Stacked bar plot with seaborn or matplotlib, having hue

我想要一个堆积条形图,它的日期为 X,Y 上的值和未知数量的值相互堆叠。

该表如下所示:

Date,Type,Value
2022-08-01,Type1,5000
2022-09-01,Type1,5500
2022-10-01,Type1,6000
2022-08-01,Type2,50000
2022-09-01,Type2,55000
2022-10-01,Type2,60000
2022-08-01,Type3,20000
2022-09-01,Type3,18000
2022-10-01,Type3,19000

所以在这里,Type1、2 和 3 将相互堆叠。 我已经看到了 matplotlib 的示例,stacked=True,但这不允许hue=Type 另一方面,在 seaborn 中,我对类型使用了 hue 参数,但它没有堆栈栏版本。

实现这一目标的最简单方法是什么?

根据Seaborn 中堆叠条形图的 getup8 答案,您可以通过将histplotmultiple='stack'weights=结合使用来做到这一点。

权重:向量或数据中的键

如果提供,则通过这些因素对相应数据点对每个 bin 中的计数的贡献进行加权。

在此处输入图像描述

代码:

import pandas as pd
import seaborn as sns

df = pd.DataFrame({
    'Date': ['2022-08-01', '2022-09-01', '2022-10-01', '2022-08-01', '2022-09-01', '2022-10-01', '2022-08-01', '2022-09-01', '2022-10-01'],
    'Type': ['Type1', 'Type1', 'Type1', 'Type2', 'Type2', 'Type2', 'Type3', 'Type3', 'Type3'],
    'Value': [5000, 5500, 6000, 50000, 55000, 60000, 20000, 18000, 19000]})


ax = sns.histplot(df, x='Date', hue='Type', weights='Value', multiple='stack')

暂无
暂无

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

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