简体   繁体   English

x 轴上的分组条形图

[英]Grouped bar plot on the x-axis

I have a problem.我有个问题。 I would like to print a grouped bar plot (with seaborn or matplotlib).我想打印分组条形图(使用 seaborn 或 matplotlib)。 When I run the below snippet code I got当我运行下面的代码片段时,我得到了

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
d = {'type': ['House', 'Boat', 'Bus', 'Bus', 'Boat'], 'room': ['private', 'public', 'public', 'private', 'nothing']}
df = pd.DataFrame(data=d)
print(df)

[OUT]

    type     room
0  House  private
1   Boat   public
2    Bus   public
3    Bus  private
4   Boat  nothing

g = sns.catplot(
    data=df, kind="bar",
    x='type', y=df.groupby(['type']).count(), hue="room",
    palette="dark", alpha=.6, height=6
)
g.despine(left=True)
g.set_axis_labels("", "Counts")
g.legend.set_title("")

[OUT]
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

What I want我想要的是

在此处输入图片说明

Looks like this would do the trick:看起来这可以解决问题:

pd.crosstab(df['type'],df['room']).plot.bar(stacked=True)

在此处输入图片说明

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

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