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

如何为Plotly散点图自动添加最大值点标签

Plotly散点图自动标注最大值点实现方案

核心逻辑是从DataFrame中自动匹配最大值对应的x轴坐标,无需手动硬编码日期值,同时支持多最大值场景的批量标注:

单最大值场景实现

替换你原代码中硬编码x值的add_annotation部分即可:

# 定位最大值对应的行数据
max_row = df[df['values'] == df['values'].max()].iloc[0]

fig.add_annotation(
    x=max_row['day-of-week'],
    y=max_row['values'],
    text=str(max_row['values']),
    yshift=10, # 标注向上偏移10像素,避免遮挡散点
    showarrow=True,
    arrowhead=1
)

多相同最大值场景实现

如果存在多个数值相同的最大值点,批量标注所有点:

# 筛选所有最大值对应的行
max_rows = df[df['values'] == df['values'].max()]

# 遍历逐行添加标注
for _, row in max_rows.iterrows():
    fig.add_annotation(
        x=row['day-of-week'],
        y=row['values'],
        text=str(row['values']),
        yshift=10,
        showarrow=True,
        arrowhead=1
    )

常用优化参数

  • 调整标注文本格式:将text参数改为f"最高值:{row['values']}"可自定义前缀后缀
  • 隐藏箭头:设置showarrow=False即可去掉标注指向点的箭头
  • 调整偏移量:修改yshift的数值可以调整标注和散点的垂直距离,x轴偏移可以用xshift参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:57:02