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

Plotly折线图悬停时显示任意位置两位小数而非最近数据点

解决Plotly折线图任意位置悬停显示插值数值的问题

默认情况下,Plotly折线图的悬停提示只会触发数据集内的点位置,要实现鼠标在折线任意位置悬停时,显示插值后的x、y两位小数数值,需要调整以下关键设置:

核心修改点

  • 启用x轴对齐的悬停模式,让Plotly根据鼠标当前x位置自动计算对应插值y值
  • 允许在折线连线上触发悬停事件
  • 确保提示框格式正确输出两位小数

修改后的完整代码

import pandas as pd
import plotly.graph_objects as go

df = pd.DataFrame({'col1':[0.5,1.5,2.5], 'time':[2,3.5,4.5]})
def plot():            
   fig = go.Figure()
   fig.add_trace(go.Scatter(
       x = df['time'],
       y = df['col1'], 
       mode='lines', 
       name = 'time plot', 
       hovertemplate='x: %{x:.2f}<br>y: %{y:.2f}<extra></extra>',
       hoveron='lines+points'  # 支持在连线和数据点上触发悬停
   ))
   fig.update_layout(
       title='Plot', 
       xaxis_tickformat = '.3f',
       hovermode='x'  # 基于x轴位置自动插值计算对应y值
   )
   fig.show()

plot()

关键设置说明

  1. hovermode='x':这是实现任意位置悬停的核心配置,Plotly会根据鼠标当前的x坐标,通过线性插值计算出对应的y值,而非仅取最近的数据集点。
  2. hoveron='lines+points':确保鼠标在折线的任意连线上悬停时也能弹出提示框,不再局限于原始数据点位置。
  3. hovertemplate:用%{x:.2f}和%{y:.2f}指定两位小数格式,<extra></extra>用来隐藏默认的系列名称后缀,让提示内容更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 06:15:39