我正在尝试实现与this example类似的东西,除了不使用滑块选择离散值,我希望它用作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 :(得分:2)
尝试以下过滤器表达式:
transform_filter(
"datum.refill_time < refill_time_refill_time"
)
其中,通过选择名称“ refill_time”和字段名称“ refill_time”构建外观怪异的“ refill_time_refill_time”。尽管我不是100%不确定那是否正确,但是无论如何都应该是“滑块文本”,因此在链接的示例中应该是“ year_year”。