:orphan:
:html_theme.sidebar_secondary.remove:
.. This document is auto-generated by the altair-gallery extension. Do not modify directly.
.. _gallery_scatter_linked_brush:
Multi-panel Scatter Plot with Linked Brushing
---------------------------------------------
This is an example of using an interval selection to control the color of
points across multiple panels.
.. altair-plot::
:remove-code:
import altair as alt
from vega_datasets import data
source = data.cars()
brush = alt.selection_interval(resolve='global')
base = alt.Chart(source).mark_point().encode(
y='Miles_per_Gallon',
color=alt.condition(brush, 'Origin', alt.ColorValue('gray')),
).add_params(
brush
).properties(
width=250,
height=250
)
base.encode(x='Horsepower') | base.encode(x='Acceleration')
# No channel encoding options are specified in this chart
# so the code is the same as for the method-based syntax.
.. tab-set::
.. tab-item:: Method syntax
:sync: method
.. code:: python
import altair as alt
from vega_datasets import data
source = data.cars()
brush = alt.selection_interval(resolve='global')
base = alt.Chart(source).mark_point().encode(
y='Miles_per_Gallon',
color=alt.condition(brush, 'Origin', alt.ColorValue('gray')),
).add_params(
brush
).properties(
width=250,
height=250
)
base.encode(x='Horsepower') | base.encode(x='Acceleration')
.. tab-item:: Attribute syntax
:sync: attribute
.. code:: python
import altair as alt
from vega_datasets import data
source = data.cars()
brush = alt.selection_interval(resolve='global')
base = alt.Chart(source).mark_point().encode(
y='Miles_per_Gallon',
color=alt.condition(brush, 'Origin', alt.ColorValue('gray')),
).add_params(
brush
).properties(
width=250,
height=250
)
base.encode(x='Horsepower') | base.encode(x='Acceleration')
# No channel encoding options are specified in this chart
# so the code is the same as for the method-based syntax.