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

技术咨询:使用Matplotlib和Pandas为堆叠柱状图添加注释

优化年龄与满意度分布的堆叠柱状图

看起来你已经有了一个不错的开头!我来帮你补全代码并优化这个堆叠柱状图,让它更清晰直观,完全适配你的分类数据展示需求。

完整代码示例

先补全你的随机数据生成逻辑,再添加专业的可视化代码(结合matplotlib和seaborn,兼顾美观与实用性):

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

# 生成符合要求的随机调查数据
data = []
for i in range(500):
    # 修正Age取值为1-5(和你描述的分类数据范围一致)
    sample = {
        "Age": random.randint(1,5), 
        "Income": random.randint(1,5), 
        "Satisfaction": random.randint(1,5)
    }
    data.append(sample)
df = pd.DataFrame(data)

# 快速统计各年龄组的满意度分布:用交叉表实现高效分组计数
satisfaction_by_age = pd.crosstab(df['Age'], df['Satisfaction'])

# 设置专业绘图风格
sns.set_style("whitegrid")

# 绘制堆叠柱状图
satisfaction_by_age.plot(kind='bar', stacked=True, figsize=(10,6), colormap='viridis')

# 添加清晰的图表元素
plt.title('Satisfaction Distribution Across Age Groups', fontsize=14)
plt.xlabel('Age Group (1-5)', fontsize=12)
plt.ylabel('Number of Respondents', fontsize=12)
# 把图例移到外侧,避免遮挡柱子
plt.legend(title='Satisfaction Level', bbox_to_anchor=(1.05, 1), loc='upper left')
# 年龄标签不旋转,提升可读性
plt.xticks(rotation=0)
# 自动调整布局,防止元素被截断
plt.tight_layout()

plt.show()

关键优化点说明

  • 数据对齐修正:把Age的取值从0-5调整为1-5,和你描述的分类数据范围完全匹配
  • 高效统计方式:用pd.crosstab替代手动循环,快速生成各年龄组的满意度分布统计结果,代码更简洁高效
  • 可视化细节优化:
    • 使用viridis配色方案,颜色区分度高且符合无障碍设计标准
    • 将图例移至图表外侧,避免遮挡核心数据
    • 保留x轴年龄标签的水平显示,提升阅读舒适度
    • 添加明确的标题和坐标轴标签,让图表信息一目了然

扩展功能(可选)

如果想结合Income维度做更深入的分析,可以生成按年龄+收入分组的堆叠图:

# 按年龄和收入双重分组,统计满意度分布
satisfaction_by_age_income = pd.crosstab([df['Age'], df['Income']], df['Satisfaction'])
satisfaction_by_age_income.plot(kind='bar', stacked=True, figsize=(12,8), colormap='viridis')

plt.title('Satisfaction Distribution Across Age & Income Groups', fontsize=14)
plt.xlabel('Age Group - Income Group', fontsize=12)
plt.ylabel('Number of Respondents', fontsize=12)
plt.legend(title='Satisfaction Level', bbox_to_anchor=(1.05, 1), loc='upper left')
plt.xticks(rotation=45)
plt.tight_layout()

plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:49:19