【问题标题】:Grouped Bar chart in seaborn [duplicate]seaborn中的分组条形图[重复]
【发布时间】:2022-01-01 02:45:06
【问题描述】:

我想用以下数据在 seaborn 中制作一个分组条形图。我该怎么做呢? seaborn 文档有一个“hue”参数,但是如何将它用于我想要显示的多个列?

Type        Single Double Many
McDonalds        1      2   10
BK               4      8    7
Popeyes         11      4   11

这是我使用 matplotlib 完成此操作的一个示例……但想在 seaborn 中执行此操作

df.plot.bar(figsize = (20,10), xlabel = 'Type', ylabel = 'Counts', title = 'Type Counts', rot = 0)

【问题讨论】:

    标签: python seaborn


    【解决方案1】:

    如果将数据转换为垂直格式并将原始列名设置为色调,您将得到一个按类型分组的图表。

    df.set_index('Type', inplace=True)
    df = df.stack().to_frame('value').reset_index()
    df.rename(columns={'level_1':'Item'},inplace=True)
    
    df.head()
    
    Type    Item    value
    0   McDonalds   Single  1
    1   McDonalds   Double  2
    2   McDonalds   Many    10
    3   BK  Single  4
    4   BK  Double  8
    
    import seaborn as sns
    
    sns.barplot(data=df, x='Type', y='value', hue='Item')
    

    【讨论】:

    • 您的问题被视为重复,但您可以接受我的回答。
    猜你喜欢
    • 2021-02-06
    • 1970-01-01
    • 2020-09-04
    • 2016-12-01
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 1970-01-01
    • 2019-03-04
    相关资源
    最近更新 更多