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

如何绘制不同分组数值图表:基于Users.age的分组可视化实现

实现方案

数据预处理

你需要先对原始的Users.age数据做分组和汇总,具体操作如下:

  • 自定义年龄分组区间,可根据业务需求设置,例如设置区间为[0,18,25,35,45,60,120],对应分组标签为['<18','18-24','25-34','35-44','45-59','60+'],用pandas的pd.cut()方法完成年龄字段的分箱操作
  • 以「年份」、「年龄分组」作为分组维度,对数据集做聚合统计,每个分组的计数结果就是你需要的y轴频数

可视化实现

直接用seaborn的scatterplot方法即可实现不同年龄分组用不同颜色标记的需求,参考代码如下:

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

# 读取原始数据,假设你的数据已经加载为df,包含year、age两个字段
# 年龄分箱
df['age_group'] = pd.cut(df['age'], 
                         bins=[0,18,25,35,45,60,120],
                         labels=['<18','18-24','25-34','35-44','45-59','60+'])
# 统计每年各年龄分组的频数
count_df = df.groupby(['year', 'age_group'], as_index=False).size()
count_df.rename(columns={'size':'freq'}, inplace=True)
# 绘制散点图
plt.figure(figsize=(10,6))
sns.scatterplot(data=count_df, x='year', y='freq', hue='age_group', s=100)
# 补充图表信息
plt.xlabel('年份')
plt.ylabel('频数')
plt.title('各年份不同年龄组用户数量分布')
plt.legend(title='年龄分组')
plt.show()

如果你的原始数据已经直接包含年份、年龄分组、频数字段,可直接跳过预处理步骤,把对应字段传入scatterplot即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:36:03