【问题标题】:How to convert Yaxis of seaborn countplot to reflect percent values?如何转换 seaborn countplot 的 Yaxis 以反映百分比值?
【发布时间】:2020-08-16 15:24:50
【问题描述】:

我使用 seaborn countplot 在数据框dh 的列areaName 下分析了不同子区域(类别)的投票模式。

sns.countplot(x=dh['areaName'],hue='Target',data=dh)
plt.xlim(1,7)

输出:

如何将图表 y 轴上的计数转换为百分比? 更具体地说,我希望 y 轴代表 0-100 的百分比值,

然后对于每个子区域(例如:Hunegallu),以未在计数值中的百分比显示色调类别(通过使用hue='Target' 获得,如代码所示)。对于 Eq,在下图中 X 轴上的子区域 Hunegallu 中,hue='Target' 给了我 3 种颜色,即蓝色、橙色、绿色,在这里假设它们各自的近似计数值为 8、4、2。因此,以百分比表示,蓝色为 8/14,约为 57%,橙色为 4/14,约为 28%,绿色为 2/14,约为 14%。

同样,我希望在 x 轴上的每个子区域上,hue='Target' 的 y 轴上的百分比值。

【问题讨论】:

    标签: python seaborn


    【解决方案1】:

    以上代码sn-p来自https://github.com/mwaskom/seaborn/issues/1027

    df = sns.load_dataset("tips")
    x, y, hue = "day", "prop", "sex"
    hue_order = ["Male", "Female"]
    
    f, axes = plt.subplots(1, 2)
    sns.countplot(x=dh['areaName'], hue='Target', data=dh)
    
    prop_df = (dh['areaName']
               .groupby(df['Target'])
               .value_counts(normalize=True)
               .rename(y)
               .reset_index())
    
    sns.barplot(x=dh['areaName'], hue='Target', data=dh)
    
    

    【讨论】:

    • TypeError: unsupported operand type(s) for /: 'str' and 'int'.......我收到了这个错误
    • @ravsab551955 你能分享示例数据框吗?
    • 能否请您将您的电子邮件 ID 发送给我,以便我可以邮寄给您,该样本,谢谢
    猜你喜欢
    • 2021-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    相关资源
    最近更新 更多