如何在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
相关产品推荐
相关产品推荐

