【发布时间】:2022-12-05 07:11:09
【问题描述】:
有没有办法在 altair 中有两种选择类型(即,下拉列表和直接选择散点图中的一个点),但一次只有一个处于活动状态?
作为我正在寻找的一个最小例子,
df = pd.DataFrame({'ID':[1,2,3,4,5], 'age':[20,20,19,16,26], 'IQ':[100,79,50,103,99]})
selection_MOUSE = alt.selection_multi(fields=['ID'])
dropdownIDs = alt.binding_select(options=[1,2,3,4,5], name="Selector: ")
selection_DROPDOWN = alt.selection_single(fields=['ID'], bind=dropdownIDs)
c = alt.Chart(df).mark_point(
filled=True
).encode(
x=alt.X('age:Q'),
y=alt.Y('IQ:Q'),
opacity=alt.condition(selection_MOUSE | selection_DROPDOWN, alt.value(1), alt.value(.2)),
tooltip=['ID']
).add_selection(selection_MOUSE, selection_DROPDOWN).interactive()
c.display()
有点难看,但这是一点点的结果点击然后另一点是通过下拉菜单选择.
由于不透明度取决于选择,当单击图形上的一个点时,它保持黑色,其余变为灰色。当从下拉列表中选择一个选项时,图表上的对应点变暗但旧的选择点仍然是黑暗的.
我想知道是否有任何方法可以有两种类型的选择,但每个新选择覆盖旧的选择。因此,期望的结果是最新选择的点(无论是通过单击还是下拉选择)将是图表上唯一变暗的点。
【问题讨论】:
标签: python visualization altair