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

Plotly express箱形图hover_data参数不生效问题及解决方案

Plotly Express箱形图悬停信息缺失问题处理记录

我使用Plotly 5.4.1版本时,参照官方文档说明,尝试通过hover_data、hover_name参数为plotly express箱形图添加额外悬停信息,但测试中需要展示的continent列数据并未在悬停弹窗中显示,无法定位问题原因。

以下是我在Google Colab中测试的代码:

import plotly.express as px
import pandas as pd
import numpy as np
np.random.seed(1234)

df = pd.DataFrame(np.random.randn(20, 1),columns=['Col1'])
df['country']=['canada','france']*10
df['continent']=['america','europe']*10

fig = px.box(df, x="country", y="Col1",  hover_data=['continent'])

fig.show()

下图为Google Colab中的运行效果:
谷歌Colab中绘制的plotly箱形图

最初尝试解决方案时触发的报错,最终通过pip install plotly --upgrade升级Plotly版本解决:
报错信息

@Rob提供的方案可正常运行,我在此基础上封装了通用函数,代码如下:

def box_with_hover(df,x,y,hover_data):    
  fig = px.box(df, x=x, y=y, hover_data=[hover_data])

  fig.add_traces(
      px.bar(
          df.groupby([x, hover_data], as_index=False).agg(
              base=(y, "min"), y=(y, lambda s: s.max() - s.min())
          ),
          x=x,
          base="base",
          y="y",
          hover_data={hover_data:True, x:True, "base":False, "y":False},
      )
      .update_traces(opacity=0.1)
      .data   ).update_layout(bargap=0.8)


  fig.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:15:03