Наличие шкалы осей X и Y в Altair, реагирующей на интервал выбора

Я привожу этот вопрос с гитхаба Альтаира. (https://github.com/altair-viz/altair/issues/2456) Есть ли способ заставить масштаб по оси Y на нижней диаграмме реагировать на кисть выделения? Я хотел бы иметь возможность перемещаться по верхней диаграмме с выделением и видеть увеличенные результаты на нижней диаграмме. Если я раскомментирую alt.Y, то обе оси X и Y показывают годы, и это неправильно. Есть ли способ передать в «кисть» только значение X или Y? Большое спасибо!

brush = alt.selection_interval(init={'x':[1950, 1970], 'y':[1500000, 2500000]}, encodings=['x', 'y'])
base = alt.Chart().mark_line().encode(
    x=alt.X('Year:Q', title=None),
    y='Deaths:Q',
    color='Entity:N'
)
  
alt.vconcat(    
    base.add_selection(brush).encode().properties(height=150, width=150),
    base.encode(
        alt.X('Year:Q', scale=alt.Scale(domain=brush)),
        #alt.Y('Deaths:Q', scale=alt.Scale(domain=brush)) # (un)commenting this line makes it work/fail only along the x-axis    
    ).properties(
    height=500, width=500
),
    data='https://vega.github.io/vega-datasets/data/disasters.csv'
)

example


person Oleg    schedule 02.05.2021    source источник


Ответы (1)


Да, смотрите открыть график в редакторе Vega  введите описание изображения здесь Он фильтрует данные 2-й диаграммы, используя преобразование фильтра в параметре кисти.

person Mattijn    schedule 02.05.2021
comment
Да, это именно то, что я хотел :) но можно ли это сделать на Python / Altair? - person Oleg; 10.05.2021