多行高亮#

这个多线图使用不可见的Voronoi镶嵌处理指针悬停,以确定最近的点,然后突出显示该点所在的线。它改编自在https://bl.ocks.org/amitkaps/fe4238e716db53930b2f1a70d3401701找到的Vega-Lite示例。

import altair as alt
from vega_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
import altair as alt
from vega_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