Выделение нескольких линий

Невидимое разбиение Вороного определяет ближайшую точку при наведении и выделяет содержащую её линию. Пример адаптирован из диаграммы Vega-Lite автора amitkaps.

import altair as alt
from altair.datasets import data

source = data.stocks()

highlight = alt.selection_point(on='pointerover', fields=['symbol'], nearest=True)

base = alt.Chart(source).encode(
    x='date:T',
    y='price:Q',
    color='symbol:N'
)

points = base.mark_circle().encode(
    opacity=alt.value(0)
).add_params(
    highlight
).properties(
    width=600
)

lines = base.mark_line().encode(
    size=alt.when(~highlight).then(alt.value(1)).otherwise(alt.value(3))
)

points + lines

Подробнее в связанных разделах документации: