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

Plotly子图使用x-unified悬停模式时,如何显示对应Y轴数值?

解决Plotly子图x-unified悬停显示对应Y值的问题

要实现x-unified悬停模式下同时显示对应X位置的所有子图Y值,核心要保证X轴数据对齐+正确配置悬停参数,具体步骤如下:

  • 确保所有子图的X轴数据完全匹配:x-unified模式基于相同X坐标位置匹配Y值,不管是连续数值、时间序列还是分类标签,每个trace的X数组必须长度一致、值一一对应。
  • 布局中显式启用hovermode='x unified':这是触发统一悬停的核心设置,同时可通过hoverlabel自定义悬停框样式(可选)。
  • 检查每个trace的hoverinfo配置:默认情况下trace会显示x+y+name,若之前修改过该参数,需显式设置为包含x和y的选项(如hoverinfo='x+y'或hoverinfo='x+y+name'),避免Y值被隐藏。

示例代码

import plotly.graph_objects as go
from plotly.subplots import make_subplots

# 创建共享X轴的子图
fig = make_subplots(rows=2, cols=1, shared_xaxes=True)

# 添加子图1的trace,X数据统一
fig.add_trace(
    go.Scatter(x=[1, 2, 3, 4], y=[10, 20, 15, 25], name='上行数据'),
    row=1, col=1
)

# 添加子图2的trace,X数据与子图1完全对齐
fig.add_trace(
    go.Scatter(x=[1, 2, 3, 4], y=[5, 12, 8, 18], name='下行数据'),
    row=2, col=1
)

# 配置x-unified悬停模式
fig.update_layout(
    hovermode='x unified',
    hoverlabel=dict(
        bgcolor="white",
        bordercolor="black"
    )
)

fig.show()

额外注意事项

如果是分类X轴,需确保所有trace的分类标签顺序、内容完全一致;若使用plotly.express创建子图,需通过facet_row/facet_col并设置hovermode='x unified'来实现相同效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 04:31:12