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

如何在Seaborn Countplot中添加汇总所有X轴刻度的新刻度?

实现方法

要在现有countplot的X轴添加汇总刻度,你可以通过扩展X轴类别、计算分组总计并叠加绘制的方式实现,具体代码如下:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# 原始数据
data = {"group1":[1, 2, 3, 1, 2, 3, 1, 1, 2, 2], "group2":["A", "B", "C", "A", "A", "B", "C", "B", "A", "C"]}
df = pd.DataFrame(data=data)

# 1. 计算group2的总计数,生成总计数据
total_counts = df["group2"].value_counts().reset_index()
total_counts.columns = ["group2", "count"]
# 添加标识总计的group1值
total_counts["group1"] = "总计"

# 2. 合并原始数据与总计数据,用于统一绘制
combined_df = pd.concat([df, total_counts])

# 3. 绘制countplot,指定x为group1,hue为group2
plt.figure(figsize=(8, 5))
ax = sns.countplot(data=combined_df, x="group1", hue="group2")

# 4. 调整X轴刻度顺序,确保"总计"在最后
ax.set_xticklabels(["1", "2", "3", "总计"])

# 5. 优化图表显示
plt.legend(title="group2")
plt.xlabel("group1")
plt.ylabel("计数")
plt.show()

关键说明

  • 用value_counts()直接算出group2各分类的总数量,构造带"总计"标识的DataFrame
  • 合并原始数据与总计数据后,countplot会自动识别新的X轴类别,无需额外调整坐标轴范围
  • 若需要自定义配色,可在countplot中指定palette参数,保持和原图表风格一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 16:15:27