Python 交互式VConcatChart中的链接水平比例?

Python 交互式VConcatChart中的链接水平比例?,python,altair,Python,Altair,我可以将多个interactive()图表放在VConcatChart中,但如何定义它们,以便在与其中一个图表交互时,所有图表中的水平比例范围都相同?您需要确保用于交互的选择对象在每个子图表中都相同。有几种方法可以确保这一点,但最简单的方法是在基础图表中只调用一次interactive(),然后为绘图的每个面板修改该基础图表 例如: import altair as alt from vega_datasets import data cars = data.cars() chart = a

我可以将多个
interactive()
图表放在
VConcatChart
中,但如何定义它们,以便在与其中一个图表交互时,所有图表中的水平比例范围都相同?

您需要确保用于交互的选择对象在每个子图表中都相同。有几种方法可以确保这一点,但最简单的方法是在基础图表中只调用一次
interactive()
,然后为绘图的每个面板修改该基础图表

例如:

import altair as alt
from vega_datasets import data

cars = data.cars()

chart = alt.Chart(cars).mark_point().encode(
    x='Horsepower',
    color='Origin'
).interactive()

alt.vconcat(
    chart.encode(y='Miles_per_Gallon'),
    chart.encode(y='Acceleration')
)