Python Altair 图表 - 在时间序列图表上突出显示点

Python Altair Charts - Highlight points on a time series chart

在 Altair 中,有没有办法将查看者的注意力吸引到时间序列图表上的特定点?

例如,通过围绕数据点画一个圆:

然后允许在工具提示中显示自定义文本?

谢谢!

你可以用 layer chart;例如:

import altair as alt
import pandas as pd
import numpy as np

rng = np.random.default_rng(0)
data = pd.DataFrame({
  'x': pd.date_range('2021-01-01', freq='W', periods=52),
  'y': rng.normal(size=52).cumsum()
})

line = alt.Chart(data).mark_line().encode(
    x='x',
    y='y',
)

callout = alt.Chart(data.iloc[7:8]).mark_point(
    color='red', size=300, tooltip="Tooltip text here"
).encode(
    x='x',
    y='y'
)

line + callout