Галерея примеров Altair содержит хороший пример того, как использовать интервальные выборы для создания двух графиков, где один позволяет вам определять масштаб другого. Я пытался добавить всплывающие подсказки к обеим частям диаграммы с накоплением, определяя всплывающие подсказки как часть базы:
import altair as alt
from vega_datasets import data
source = data.sp500.url
brush = alt.selection(type='interval', encodings=['x'])
base = alt.Chart(source).mark_area().encode(
x = 'date:T',
y = 'price:Q',
tooltip = 'price:Q'
).properties(
width=600,
height=200
)
upper = base
lower = base.properties(
height=60
).add_selection(brush)
upper & lower
При этом всплывающие подсказки работают, как и ожидалось, на lower
, но не на всех upper
.
![enter image description here](https://i.stack.imgur.com/8CM71.png)
Если, однако, я удаляю .add_selection(brush)
из lower
, всплывающие подсказки также работают на upper
(что не изменилось), но это, конечно, побеждает цель примера. Я также могу заставить всплывающие подсказки работать на upper
, пометив их как интерактивные, но опять же, это разрушает то, что приятно в примере. Изменение определения upper
на upper = base.encode(tooltip='price:Q')
ничего не делает.
Как бы я определил цель всплывающей подсказки таким образом, чтобы подсказки отображались как на upper
, так и на lower
?