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

如何在Plotly折线图的每个数据点上显示对应数值?

在Plotly折线图的每个数据点显示数值的解决方案

嘿,我看你已经在尝试用Plotly绘制月度营收折线图了,而且想给每个数据点加上对应的数值标签对吧?你的代码已经搭好了基础框架,只需要几个小调整就能实现这个需求~

问题分析

你当前的代码里已经设置了text=y来指定要显示的数值,但Plotly默认不会自动把这些文本显示在图表上,得明确告诉它要同时展示折线、数据点和文本标签,还要指定文本的位置。

修改后的完整代码

import plotly.graph_objects as go

x = table1['date'][:-1].values.tolist()
y = table2['revenue'][:-1].values.tolist()

fig = go.Figure(go.Scatter(
    x=x, 
    y=y,
    text=y,  # 绑定要显示的营收数值
    line=dict(color='firebrick', width=4),
    mode='lines+markers+text',  # 关键参数:同时显示折线、数据点标记和文本标签
    textposition='top center'  # 数值显示在数据点的上方居中位置,可按需调整
))

fig.update_layout(
    title_text='revenue in this month'
)
fig.show()

关键参数解释

  • mode='lines+markers+text':这个参数告诉Plotly不要只画折线,还要把数据点标记和对应的数值文本都展示出来
  • textposition='top center':控制数值标签的显示位置,你也可以换成'bottom center'(下方居中)、'left'(左侧)或者'right'(右侧),根据你的图表布局选最合适的就行

额外优化小技巧

如果你的营收数值是小数,想让显示更规整(比如保留两位小数),可以把text=y改成格式化后的列表:

text=[f'{val:.2f}' for val in y]

这样每个数值都会以两位小数的形式展示,看起来更专业~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 09:17:03