如何在Plotly散点图对象中始终显示标记上方的数值?
在Plotly散点图中常驻显示数据点y值的实现方法
Plotly没有专门的参数直接实现"常驻显示y值",但可以通过以下方式达成类似效果:
核心实现思路
通过设置散点的mode为markers+text,将y值作为文本绑定到每个数据点,并指定文本相对于标记点的位置,让数值始终显示在点的上方。
代码示例
使用Plotly Express
import plotly.express as px import pandas as pd # 构造示例数据 df = pd.DataFrame({ 'x': [1, 2, 3, 4, 5], 'y': [10, 20, 15, 25, 30] }) # 创建散点图并绑定y值为显示文本 fig = px.scatter(df, x='x', y='y', text='y') # 设置显示模式为标记+文本,指定文本位置在点顶部居中 fig.update_traces(mode='markers+text', textposition='top center') fig.show()
使用Plotly Graph Objects
import plotly.graph_objects as go x = [1, 2, 3, 4, 5] y = [10, 20, 15, 25, 30] fig = go.Figure() fig.add_trace(go.Scatter( x=x, y=y, mode='markers+text', # 同时显示标记和文本 text=y, # 要显示的文本内容为y值 textposition='top center' # 文本位置:点顶部居中 )) fig.show()
自定义文本样式
如果需要调整显示的字体、颜色等样式,可以通过textfont参数设置:
fig.update_traces( mode='markers+text', textposition='top center', textfont=dict( family='Arial', size=12, color='#ff4500' ) )
可选文本位置
textposition支持多种取值,可根据图表需求选择:
top center(顶部居中)top left(顶部左侧)top right(顶部右侧)bottom center(底部居中)middle right(右侧中间)
内容的提问来源于stack exchange,提问作者Fil B
相关产品推荐
相关产品推荐

