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

如何在Plotly中关闭箱线图/小提琴图的上下须悬停信息?

解决Plotly中关闭箱线图/小提琴图上下须悬停信息的问题

箱线图解决方案

要关闭上下须(upper/lower fence)的悬停信息、同时保留其他内容,可通过指定hoverinfo参数排除上下须相关项,或自定义hovertemplate精准控制显示内容。

方法1:使用hoverinfo参数

在go.Box中设置hoverinfo为需要显示的字段列表,明确排除lowerfence和upperfence:

import plotly.graph_objects as go
import numpy as np
np.random.seed(1)

y0 = np.random.randn(50) - 1
y1 = np.random.randn(50) + 1
fig = go.Figure()
# 保留y值、中位数、四分位数、极值和异常点,排除上下须
fig.add_trace(go.Box(y=y0, hoverinfo="y,median,q1,q3,min,max,points"))
fig.add_trace(go.Box(y=y1, hoverinfo="y,median,q1,q3,min,max,points"))
fig.show()

方法2:自定义hovertemplate

如果需要更灵活的显示格式,直接编写hovertemplate定义显示内容:

import plotly.graph_objects as go
import numpy as np
np.random.seed(1)

y0 = np.random.randn(50) - 1
y1 = np.random.randn(50) + 1
fig = go.Figure()
custom_template = (
    "值: %{y}<br>"
    "中位数: %{median}<br>"
    "Q1: %{q1}<br>"
    "Q3: %{q3}<br>"
    "最小值: %{min}<br>"
    "最大值: %{max}<extra></extra>"
)
fig.add_trace(go.Box(y=y0, hovertemplate=custom_template))
fig.add_trace(go.Box(y=y1, hovertemplate=custom_template))
fig.show()

小提琴图解决方案

对于包含内部箱线的小提琴图,同样可以用hoverinfo或hovertemplate控制悬停内容:

import plotly.graph_objects as go
import numpy as np
np.random.seed(1)

y0 = np.random.randn(50) - 1
y1 = np.random.randn(50) + 1
fig = go.Figure()
# 开启内部箱线,同时排除上下须的悬停信息
fig.add_trace(go.Violin(y=y0, box_visible=True, hoverinfo="y,median,q1,q3,min,max"))
fig.add_trace(go.Violin(y=y1, box_visible=True, hoverinfo="y,median,q1,q3,min,max"))
fig.show()

若需要自定义显示格式,直接替换为hovertemplate即可,格式逻辑与箱线图一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 07:40:39