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

Altair箱线图:如何在标准工具提示中添加均值、标准差等信息?

Altair箱线图工具提示扩展方案

能否保留默认工具提示并添加额外信息?

Altair 默认生成的箱线图工具提示是自动绑定的,无法直接在原有基础上追加均值、标准差等额外信息——必须手动显式指定所有需要展示的工具提示字段,包括默认的统计项(最小值、第一四分位数、中位数、第三四分位数、最大值),再新增均值、标准差等自定义统计量。

实现步骤与示例代码

1. 计算自定义统计量

使用 transform_joinaggregate() 按分组计算均值、标准差,将结果关联到原数据集中,确保每个数据点能匹配到对应分组的统计值。

2. 显式指定所有工具提示字段

在 mark_boxplot() 的 tooltip 参数中,列出默认箱线图的所有统计项,再加入新增的均值、标准差字段,还可以为字段设置友好的显示名称与格式。

示例代码:

import altair as alt
from vega_datasets import data

# 加载示例汽车数据集
cars = data.cars()

# 创建带扩展工具提示的箱线图
chart = alt.Chart(cars).mark_boxplot().encode(
    x='Origin:N',
    y='Horsepower:Q',
    # 显式定义所有工具提示字段,包含默认项和新增统计量
    tooltip=[
        alt.Tooltip('Origin:N', title='产地'),
        alt.Tooltip('min(Horsepower):Q', title='最小值'),
        alt.Tooltip('q1(Horsepower):Q', title='第一四分位数'),
        alt.Tooltip('median(Horsepower):Q', title='中位数'),
        alt.Tooltip('q3(Horsepower):Q', title='第三四分位数'),
        alt.Tooltip('max(Horsepower):Q', title='最大值'),
        # 新增均值与标准差,保留两位小数格式
        alt.Tooltip('mean_hp:Q', title='均值', format='.2f'),
        alt.Tooltip('stdev_hp:Q', title='标准差', format='.2f')
    ]
).transform_joinaggregate(
    # 按产地分组计算均值和标准差
    mean_hp='mean(Horsepower)',
    stdev_hp='stdev(Horsepower)',
    groupby=['Origin']
)

chart.show()

为工具提示添加说明的方法

如果需要为工具提示内容补充含义说明,常用两种方式:

  • 字段标题优化:通过 title 参数为每个tooltip字段设置直观名称(如示例中的“均值”“标准差”),让用户直接理解字段含义。
  • 图表附加文本标注:在图表旁添加文本块,统一说明工具提示中各统计项的意义,示例代码如下:
# 创建说明文本组件
note_text = alt.Chart({'values':[{}]}).mark_text(
    align='left', baseline='top', fontSize=12, lineBreak='\n'
).encode(
    x=alt.value(5), y=alt.value(5),
    text=alt.value('工具提示说明:\n- 最小值/最大值:数据区间范围\n- 四分位数:数据分布的四分位划分\n- 均值:分组平均水平\n- 标准差:数据离散程度')
)

# 组合箱线图与说明文本
final_chart = alt.vconcat(chart, note_text)
final_chart.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 00:25:20