0

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

4

1 回答 1

1

您需要确保用于交互的选择对象在每个子图中都相同。有几种方法可以确保这一点,但最简单的方法是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')
)

两面板散点图

于 2018-05-30T19:33:53.657 回答