:orphan:
:html_theme.sidebar_secondary.remove:
.. This document is auto-generated by the altair-gallery extension. Do not modify directly.
.. _gallery_interval_selection:
Interval Selection
==================
This is an example of creating a stacked chart for which the domain of the
top chart can be selected by interacting with the bottom chart.
.. altair-plot::
:remove-code:
import altair as alt
from vega_datasets import data
source = data.sp500.url
brush = alt.selection_interval(encodings=['x'])
base = alt.Chart(source).mark_area().encode(
x = 'date:T',
y = 'price:Q'
).properties(
width=600,
height=200
)
upper = base.encode(
alt.X('date:T', scale=alt.Scale(domain=brush))
)
lower = base.properties(
height=60
).add_params(brush)
upper & lower
.. tab-set::
.. tab-item:: Method syntax
:sync: method
.. code:: python
import altair as alt
from vega_datasets import data
source = data.sp500.url
brush = alt.selection_interval(encodings=['x'])
base = alt.Chart(source, width=600, height=200).mark_area().encode(
x = 'date:T',
y = 'price:Q'
)
upper = base.encode(
alt.X('date:T').scale(domain=brush)
)
lower = base.properties(
height=60
).add_params(brush)
upper & lower
.. tab-item:: Attribute syntax
:sync: attribute
.. code:: python
import altair as alt
from vega_datasets import data
source = data.sp500.url
brush = alt.selection_interval(encodings=['x'])
base = alt.Chart(source).mark_area().encode(
x = 'date:T',
y = 'price:Q'
).properties(
width=600,
height=200
)
upper = base.encode(
alt.X('date:T', scale=alt.Scale(domain=brush))
)
lower = base.properties(
height=60
).add_params(brush)
upper & lower