Подсказки на сложенной диаграмме Altair / Vega-Lite исчезают при использовании интервалов - PullRequest
2 голосов
/ 01 марта 2020

Галерея примеров 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

Если, однако, я удаляю .add_selection(brush) из lower, всплывающие подсказки также работают на upper (что не изменилось), но это, конечно, побеждает цель примера. Я также могу заставить всплывающие подсказки работать на upper, пометив их как интерактивные, но опять же, это разрушает то, что приятно в примере. Изменение определения upper на upper = base.encode(tooltip='price:Q') ничего не делает.

Как бы я определил цель всплывающей подсказки таким образом, чтобы подсказки отображались как на upper, так и на lower?

1 Ответ

3 голосов
/ 01 марта 2020

Тот факт, что всплывающие подсказки перестают работать, вероятно, является ошибкой, и стоило бы подать Отчет об ошибке Vega-Lite

Похоже, вы можете обойти эту проблему, добавив вторую пустой выбор на верхнем графике:

upper = base.add_selection(alt.selection_single())

Вы можете просмотреть интерактивный результат здесь .

...