This website is for version 5. You can find the documentation for version 4 here.

Using Selection Interval with mark_area#

Because area is considered one object, just using the plain selector will select the entire area instead of just one part of it.

This example shows how to use two areas, one on top of the other, and a transform_filter to fake out this effect.

import altair as alt
from vega_datasets import data

source = data.unemployment_across_industries.url

base = alt.Chart(source).mark_area(
    color='goldenrod',
    opacity=0.3
).encode(
    x='yearmonth(date):T',
    y='sum(count):Q',
)

brush = alt.selection_interval(encodings=['x'])
background = base.add_params(brush)
selected = base.transform_filter(brush).mark_area(color='goldenrod')

background + selected
import altair as alt
from vega_datasets import data

source = data.unemployment_across_industries.url

base = alt.Chart(source).mark_area(
    color='goldenrod',
    opacity=0.3
).encode(
    x='yearmonth(date):T',
    y='sum(count):Q',
)

brush = alt.selection_interval(encodings=['x'])
background = base.add_params(brush)
selected = base.transform_filter(brush).mark_area(color='goldenrod')

background + selected
# No channel encoding options are specified in this chart
# so the code is the same as for the method-based syntax.