问题描述
我制作了一个 altair 可视化,其中在我的数据帧的两个不同变量上包含 2 个选择器。
当我尝试使用它时效果很好 -> https://imgur.com/gallery/bDfRV9q
当我使用另一个选择器时,它也能正常工作 -> https://imgur.com/gallery/ycCMy20
但是,当我使用两个选择器时,我只想显示两个选择器的交集,而不是此处显示的内容 -> https://imgur.com/gallery/lfcqcY9
是否可以在只有一个选择器处于活动状态时显示每个选择器的选择,并在两者都处于活动状态时显示交集?
编辑:我使用示例数据将代码添加到此问题中,因此希望它更容易重现。
import altair as alt
from vega_datasets import data
cars = data.cars.url
alex = alt.selection_interval(
on="[mousedown[event.altKey],mouseup] > mousemove",name='alex',resolve='intersect'
)
morgan = alt.selection_interval(
on="[mousedown[event.shiftKey],mark=alt.BrushConfig(fill="#fdbb84",fillOpacity=0.5,stroke="#e34a33"),name='morgan',resolve='intersect'
)
alt.Chart(cars).mark_rect().encode(
x='Cylinders:O',y='Origin:O',color=alt.condition((alex & ~morgan) | (~alex & morgan) | (alex & morgan),'count()',alt.ColorValue("grey"))
).add_selection(
alex,morgan
).properties(
width=300,height=180
)
我希望图表在仅选择“alex”选择器时显示“alex”的选择,当仅选择“morgan”时显示“morgan”,并且当两个选择器都选择“alex”和“morgan”时仅显示交集"被选中。
非常感谢您提前!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)