Альтаир - диапазон фильтра по привязке слайдера
Я пытаюсь добиться чего-то похожего на этот пример, за исключением того, что вместо того, чтобы использовать ползунок для выбора дискретных значений, я бы хотел, чтобы он служил точкой отсечки в transform_filter
(т.е. значения <значение слайдера).
Прямо сейчас у меня есть что-то вроде этого:
import altair as alt
from altair.expr import datum
slider = alt.binding_range(min=data.refill_time.min().value,
max=data.refill_time.max().value,
step = 1)
select_date = alt.selection_single(name='refill_time',
fields=['refill_time'],
bind=slider)
refills = alt.Chart(data).mark_bar(
).transform_filter(
datum.refill_time < select_date.ref()
).encode(
alt.X('refill_count:Q',
alt.Y('group:N')
).add_selection(
select_date
)
display(refills)
Я пытался посмотреть на данные из slider
но я не смог найти никаких полей, которые возвращают его текущее значение (.ref()
попытка). Я также пытался изменить selection_single
в _multi
а также _interval
но я только что получил недопустимые ошибки спецификации - я не мог найти способ определить binding_range
это имело бы смысл для выбора.
Возможно ли это на Альтаире?
0 ответов
Попробуйте следующее выражение фильтра:
transform_filter(
"datum.refill_time < refill_time_refill_time"
)
где странно выглядящее "refill_time_refill_time" создается именем выбора "refill_time" и именем поля "refill_time". Хотя я не уверен на 100%, правильно ли это, но в любом случае это должен быть "текст слайдера", поэтому в связанном примере это будет "year_year".