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

Plotly雷达图设置填充后hover悬浮数据不显示问题求解

雷达图填充与自定义悬停效果共存实现方案

问题原因

  • 添加fill='toself'参数后,Plotly会为雷达图生成可响应hover的填充面轨迹,该轨迹默认未绑定自定义悬停数据,会导致原有悬停信息被覆盖。
  • 自定义hovertemplate时嵌套了多余的单引号,导致模板解析错误,无法正常读取自定义数据。

解决方案1 最简实现(保留原有hover配置)

直接在更新轨迹时添加hoveron='points'参数,指定仅数据点触发悬停事件,避开填充面的hover响应即可:

import pandas as pd
import plotly.express as px

df = pd.DataFrame({'sample':['sample_1','sample_2','sample_3','sample_1','sample_2','sample_3','sample_1','sample_2','sample_3'],
                  'KPI':['KPI_1','KPI_1','KPI_1','KPI_2','KPI_2','KPI_2','KPI_3','KPI_3','KPI_3'],
                  'value':[1,2,1,1,1,2,2,1,1],
                  'sample_info':['info_1','info_1','info_1','info_2','info_2','info_2','info_3','info_3','info_3']})

fig = px.line_polar(df, r='value', theta='KPI', color='sample', line_close = True,
                   hover_data = ['sample_info'])
fig.update_traces(fill='toself', hoveron='points')
fig.show()

解决方案2 自定义悬停模板

如果需要完全自定义悬停展示内容,修正模板的引号问题即可正常读取customdata:

fig = px.line_polar(df, r='value', theta='KPI', color='sample', line_close = True,
                   custom_data = ['sample_info'])
fig.update_traces(
    fill='toself',
    # 模板中去掉多余嵌套的单引号,<extra></extra>用于隐藏默认附加的trace名称
    hovertemplate="KPI指标: %{theta}<br>数值: %{r}<br>样本信息: %{customdata[0]}<extra></extra>"
)
fig.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:45:02