Pandas 如何在牛郎星图表上组合两个滑块?

Pandas 如何在牛郎星图表上组合两个滑块?,pandas,slider,altair,Pandas,Slider,Altair,我有以下数据帧: num_tra num_ts Year Value 0 0 0 1 100 1 0 0 2 90 2 0 0 3 80 3 0 1 1 90 4 0 1 2 81 5 0 1 3 72 6 1 0 1 81 7 1 0

我有以下数据帧:

   num_tra num_ts Year  Value
0      0    0      1     100
1      0    0      2     90
2      0    0      3     80
3      0    1      1     90
4      0    1      2     81
5      0    1      3     72
6      1    0      1     81
7      1    0      2     73
8      1    0      3     65
9      1    1      1     73
10     1    1      2     66
11     1    1      3     58
12     2    0      1     142
13     2    0      2     160
14     2    0      3     144
15     2    1      1     128
16     2    1      2     144
17     2    1      3     130
基于Altair的多交互示例,我尝试使用两个滑块(在本例中)基于num_tra[0到2]和num_ts[0到1]列的值构建一个图表,但它不起作用

import altair as alt
from vega_datasets import data

base = alt.Chart(df, width=500, height=300).mark_line(color="Red").encode(
    x=alt.X('Year:Q'),
    y='Value:Q',
    tooltip="Value:Q"
)

# Slider filter
tra_slider = alt.binding_range(min=0, max=2, step=1)
ts_slider = alt.binding_range(min=0, max=1, step=1)

slider1 = alt.selection_single(bind=tra_slider, fields=['num_tra'], name="TRA")
slider2 = alt.selection_single(bind=ts_slider, fields=['num_ts'], name="TS")

filter_TRA = base.add_selection(
    slider1,slider2
).transform_filter(
    slider1,slider2
).properties(title="Sensi_TRA")

filter_TRA
=>TypeError:transform_filter()接受2个位置参数,但给出了3个

一个滑块没有问题,但正如前面提到的,我无法在同一张图表上组合两个或多个滑块


如果您有任何想法,我们将不胜感激。

有几种方法可以做到这一点。如果希望按顺序应用过滤器,可以使用两个transform语句:

filter\u TRA=base.add\u选择(
滑块1,滑块2
).transform_过滤器(
滑块1
).transform_过滤器(
滑块2
)
或者,您可以使用单个transforms语句并使用
&
|
运算符分别对滑块值的交点或并集进行过滤:

filter_TRA = base.add_selection(
    slider1,slider2
).transform_filter(
    slider1 & slider2
)

好的,太好了。那正是我想要的。谢谢