有没有办法在 Altair boxplot 中格式化工具提示值

Is there a way to format tooltip values in Altair boxplot

是否可以在箱线图的工具提示中设置值的格式?从这个 Vega documentation 看来是这样,但我不太清楚如何使用 Altair for python

from vega_datasets import data

import altair as alt

source = data.population.url

alt.Chart(source).mark_boxplot().encode(
    alt.X("age:O"),
    alt.Y("people:Q"),
    tooltip=[
        alt.Tooltip("people:Q", format=",.2f"),
    ],
)

我认为您需要为 mark_boxplot 这样的复合标记提供聚合。这有效:

from vega_datasets import data
import altair as alt

source = data.population.url

alt.Chart(source).mark_boxplot().encode(
    alt.X("age:O"),
    alt.Y("people:Q"),
    tooltip=alt.Tooltip("mean(people):Q", format=",.2f"),)

有一种方法可以向工具提示添加多列。您可以将方括号中的多列作为列表传入。

import altair as alt
from vega_datasets import data

stocks = data.stocks()

alt.Chart(stocks).mark_point().transform_window(
    previous_price = 'lag(price)'
).transform_calculate(
    pct_change = '(datum.price - datum.previous_price) / datum.previous_price'
).encode(
    x='date',
    y='price',
    color='symbol',
    tooltip=[ 'price', 'symbol', alt.Tooltip('pct_change:Q', format='.1%')]
)