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

如何在Pitch图中为不同活动绘制彩色散点图并添加图例

实现不同颜色散点图及图例的方法

关键调整步骤:

  1. 保留活动类别列:提取数据时需要保留event列,否则无法区分不同活动
  2. 定义颜色映射:为每个活动指定专属颜色
  3. 分活动绘制散点:循环每个活动类别,用对应颜色绘制并设置图例标签
  4. 添加图例:调用图例方法显示各活动对应的颜色

修改后的完整代码:

# 调整数据提取,保留event列
mask_activity = df.event.isin(['run','jog','swim']) & (df.name == "peter")
df_activity = df.loc[mask_activity, ['event', 'X', 'Y']]  # 新增event列

# 定义活动与颜色的映射
activity_colors = {
    'run': 'red',
    'jog': 'green',
    'swim': 'blue'
}

# 初始化Pitch图
pitch = Pitch(line_color='black')
fig, ax = pitch.grid(grid_height=0.9, title_height=0.06, axis=False, 
                     endnote_height=0.04, title_space=0, endnote_space=0)

# 循环每个活动,分别绘制散点并设置图例标签
for activity, color in activity_colors.items():
    # 过滤当前活动的数据
    activity_data = df_activity[df_activity['event'] == activity]
    # 绘制散点,指定颜色和标签
    pitch.scatter(activity_data['X'], activity_data['Y'], 
                  alpha=1, s=500, color=color, 
                  label=activity, ax=ax['pitch'])

# 添加图例
ax['pitch'].legend(fontsize=12, loc='upper right')

# 设置标题并显示
fig.suptitle("Peter's Activities", fontsize=30)
plt.show()

代码说明:

  • 提取数据时保留event列,是后续区分活动的基础
  • 颜色映射字典可以根据需求自定义颜色(支持十六进制颜色码,比如'#FF5733')
  • 循环绘制每个活动的散点,通过label参数指定图例显示的文本
  • 调用ax['pitch'].legend()在Pitch图区域添加图例,loc参数可以调整图例位置

内容的提问来源于stack exchange,提问作者ruben.lfdz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 14:45:33