You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Seaborn的countplot添加百分比显示?

为Seaborn条形图添加百分比标注

你可以通过在计数条形图基础上添加文本标注的方式显示百分比,以下是修改后的完整代码及说明:

修改后的代码

import seaborn as sns
import matplotlib.pyplot as plt

sns.set_style('whitegrid')
# 绘制计数条形图并获取轴对象
ax = sns.countplot(y='type', data=df, palette='colorblind')
# 计算总样本数量
total = df['type'].value_counts().sum()

# 遍历每个条形,添加百分比标注
for p in ax.patches:
    # 计算百分比,保留1位小数
    percentage = '{:.1f}%'.format(100 * p.get_width() / total)
    # 在条形右侧放置文本,垂直居中对齐
    ax.text(p.get_width() + 5, p.get_y() + p.get_height()/2,
            percentage, va='center')

plt.xlabel('数量')
plt.ylabel('类型')
plt.title('Disney+影片类型分布')
plt.show()

关键改动说明

  • 获取绘图的ax对象,方便后续操作条形元素
  • 计算总样本数total,作为百分比计算的基数
  • 遍历每个条形(ax.patches),通过p.get_width()获取当前条形的计数,除以总数得到百分比
  • 使用ax.text()在条形右侧添加百分比文本,调整位置保证垂直居中、不遮挡条形

效果说明

修改后的图表会保留原有的数量轴,同时在每个条形旁显示对应类别的占比百分比,既展示了各类别的绝对数量,又补充了相对占比的视角。

内容的提问来源于stack exchange,提问作者EyeOfIlum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 00:52:35