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

Plotly散点图优化:同版本仅首个点添加版本标注

实现Plotly散点图同版本仅首个点显示标注的方法

核心思路是先预处理数据,给每个版本的点只保留第一个的标注文本,其余设为空,再传入Plotly绘图即可,同时保留按版本上色的逻辑。

1. 预处理数据(以pandas为例)

假设你的数据存储在DataFrame df中,先新增一列用于控制标注内容:

import pandas as pd

# 给每个info_version分组,仅保留每组第一个点的版本号,其余设为空
df['label'] = df.apply(
    lambda row: row['info_version'] if df[df['info_version'] == row['info_version']].index[0] == row.name else '',
    axis=1
)

这段代码通过对比行索引是否为该版本的第一个索引来判断,确保每个版本仅第一个点保留版本号文本。

2. 修改Plotly绘图代码

把原来的text参数替换为新生成的label列,同时保留color='info_version'的上色逻辑:

import plotly.express as px

fig = px.scatter(
    df,
    x='API_paths',  # 替换为你的实际x轴字段
    y='Commit-growth',  # 替换为你的实际y轴字段
    color='info_version',  # 保留按版本上色的逻辑
    text='label',  # 使用处理后的标注列
    title='API版本与提交增长散点图'
)

# 可选:调整标注的显示位置
fig.update_traces(textposition='top center')

fig.show()

关键说明

  • 数据处理阶段通过索引对比筛选,确保每个版本只有第一个点携带版本号文本,其余点的标注为空字符串,Plotly会自动忽略空文本的显示。
  • color='info_version'参数不受影响,依然会按版本对所有点进行上色,完全满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:31:34