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

如何在Python/Streamlit的Plotly图表中实现图例及轴标签tooltip功能?

在Streamlit的Plotly图表中给图例颜色块和轴标签加Tooltip

一、图例颜色块的Tooltip实现

Plotly原生支持给图例项配置悬停文本,操作步骤如下:

  • 为每个图表trace设置hovertext,定义悬停时显示的自定义内容
  • 在布局配置中开启图例的悬停信息展示

示例代码:

import plotly.express as px
import streamlit as st

# 加载示例数据
df = px.data.iris()
# 创建基础散点图
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")

# 给每个图例项配置悬停文本
for trace in fig.data:
    trace.hovertext = f"{trace.name}:该类别共包含{len(df[df['species'] == trace.name])}个样本"
    trace.hoverinfo = "text"  # 指定悬停时仅显示自定义文本

# 开启图例的悬停功能
fig.update_layout(
    legend=dict(
        hovermode="x unified",
        hoverinfo="text"
    )
)

# 在Streamlit中渲染图表
st.plotly_chart(fig, use_container_width=True)

二、轴标签的Tooltip实现

Plotly的轴标题支持直接配置hovertext参数,无需复杂操作,代码示例:

# 为X轴标签添加Tooltip
fig.update_xaxes(
    title=dict(
        text="花萼宽度",
        hovertext="单位:厘米,用于记录鸢尾花花萼的横向尺寸"
    )
)

# 为Y轴标签添加Tooltip
fig.update_yaxes(
    title=dict(
        text="花萼长度",
        hovertext="单位:厘米,用于记录鸢尾花花萼的纵向尺寸"
    )
)

上述配置在Streamlit中直接生效,st.plotly_chart()会完整保留Plotly图表的所有交互特性,不用担心兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:25:13