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

如何为Plotly parcats/平行分类图自定义hovertemplate并实现节点悬停显示标签

为Plotly平行分类图(parcats)自定义hovertemplate并显示节点标签

一、Plotly Express 实现方式

用px.parallel_categories生成平行分类图时,可结合hover_data传递额外数据,再通过update_traces自定义hovertemplate,直接用%{label}调用节点标签。

示例代码:

import plotly.express as px
import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    "Category1": ["A", "A", "B", "B", "C"],
    "Category2": ["X", "Y", "X", "Y", "X"],
    "Value": [10, 20, 15, 25, 30]
})

# 生成平行分类图,指定hover数据
fig = px.parallel_categories(
    df,
    dimensions=["Category1", "Category2"],
    color="Value",
    hover_data={"Value": True}
)

# 自定义hover模板,%{label}自动显示节点标签
fig.update_traces(
    hovertemplate="<b>节点标签:</b> %{label}<br><b>数值:</b> %{customdata[0]}<extra></extra>"
)

fig.show()

说明:

  • hover_data用来指定需要带入hover模板的额外字段,这里将Value传入作为customdata。
  • %{label}是Plotly parcats内置变量,直接对应悬停节点的文本内容;<extra></extra>用于隐藏默认的trace名称,让hover显示更简洁。

二、Plotly Graph Objects 实现方式

用go.Parcats直接构建图形时,需手动配置维度信息,通过customdata传递额外数据,再在hovertemplate中调用节点标签和自定义数据。

示例代码:

import plotly.graph_objects as go
import pandas as pd

df = pd.DataFrame({
    "Category1": ["A", "A", "B", "B", "C"],
    "Category2": ["X", "Y", "X", "Y", "X"],
    "Value": [10, 20, 15, 25, 30]
})

fig = go.Figure(go.Parcats(
    dimensions=[
        {"label": "分类1", "values": df["Category1"]},
        {"label": "分类2", "values": df["Category2"]}
    ],
    line={"color": df["Value"], "colorscale": "Viridis"},
    customdata=df["Value"].values.reshape(-1, 1),  # 传递额外数值数据
    hovertemplate="<b>维度:</b> %{dimension.label}<br><b>节点标签:</b> %{label}<br><b>数值:</b> %{customdata[0]}<extra></extra>"
))

fig.show()

说明:

  • dimensions中的label是维度名称,values是该维度下的节点值。
  • %{dimension.label}可显示当前悬停节点所属的维度名称,%{label}显示节点的具体标签文本。

关键注意事项

  • %{label}是parcats内置的变量,无需额外配置即可直接调用节点标签。
  • 若需显示自定义额外数据,必须确保数据通过customdata(Graph Objects)或hover_data(Express)传入,否则无法在hovertemplate中调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 16:15:39