Python 多图表中的牵牛星选择

Python 多图表中的牵牛星选择,python,vega,vega-lite,altair,Python,Vega,Vega Lite,Altair,我有一个带有列的数据框:“性别”、“城市”、“年龄”、“时间”、“价值” 我需要从“sex”和“urb”中选择一个元素,从“age”列中选择多个元素,然后制作一个交互式折线图,其中x轴为“time”,y轴为“value”,图例中为年龄 我为每个“性别”、“城市”和“年龄”列添加了selection_multi(),以分隔标记(例如y='sex:O',无x轴) 我希望mark_line()可以基于选择_multi()来绘制线。例如,如果我选择: “性”中的“男性” “urb”中的“Urban” 从

我有一个带有列的数据框:“性别”、“城市”、“年龄”、“时间”、“价值”

我需要从“sex”和“urb”中选择一个元素,从“age”列中选择多个元素,然后制作一个交互式折线图,其中x轴为“time”,y轴为“value”,图例中为年龄

我为每个“性别”、“城市”和“年龄”列添加了selection_multi(),以分隔标记(例如y='sex:O',无x轴)

我希望mark_line()可以基于选择_multi()来绘制线。例如,如果我选择:

  • “性”中的“男性”
  • “urb”中的“Urban”
  • 从“年龄”到“20多岁”和“40多岁”
  • 然后是两行:

  • 男性-城市-20多岁
  • 男性-市区-40多岁
  • 我们被画出来了

    然而,选择并不像我期望的那样有效。例如,如果我从“性别”标记()中选择“男性”,从“城市”标记()中选择“城市”,则在“性别”标记()中自动选择“女性”。即使数据框中有带“男性”和“城市”的行,也不可能选择“男性”和“城市”

    我做错了什么


    你的问题是你有一个单一的选择器,在
    'sex'
    'urb'
    'age'
    上触发。根据您的描述,似乎您需要多个独立触发的选择器

    例如,尝试创建三个选择器

    selector_sex = alt.selection_single(fields=['sex'])
    selector_urb = alt.selection_single(fields=['urb'])
    selector_age = alt.selection_multi(fields=['age'])
    
    并在仪表板的各个位置使用它们

    selector_sex = alt.selection_single(fields=['sex'])
    selector_urb = alt.selection_single(fields=['urb'])
    selector_age = alt.selection_multi(fields=['age'])