Betrachten Sie das folgende MRE: < /p>
# create data
df = pd.DataFrame()
df['x'] = [0, 1, 2] * 3
df['y'] = [0] * 3 + [1] * 3 + [2] * 3
# create selections
click_select = alt.selection_point(name='_click_select_', toggle='true', encodings=['x','y'], empty=False, clear=False)
box_select = alt.selection_interval(name='_box_select_', empty=False,
on="[mousedown[event.altKey], mouseup] > mousemove",
translate="[mousedown[event.altKey], mouseup] > mousemove!")
# initialize
base = alt.Chart(df).mark_point().encode(x='x', y='y')
base = base.encode(color=alt.when(click_select | box_select).then(alt.value('red')).otherwise(alt.value('blue')))
base = base.add_params(click_select, box_select)
< /code>
Dies ist ein Streudiagramm mit 9 Punkten. Ich würde erwarten, dass diese Punkte blau sind, um zu beginnen, und dann rot, wenn sie ausgewählt werden, indem Sie entweder direkt auf sie klicken oder sie in das Box auswählen, während Sie Alt halten. < /P>
jedoch das Ergebnis ist eine Handlung, in der alle Punkte rot sind, um zu beginnen. Nur sobald der Click_Select auf einen Punkt geklickt hat und Box_Select erstellt hat, wird ein Feld erstellt, das das Diagramm wie beabsichtigt angezeigt wird, mit ausgewählten Punkten in Rot und allen anderen in Blau. < /P>
Mein Instinkt sagt mir, dass dies dies hat Etwas mit dem Parameter "leer" zu tun, da das Verhalten wie alle Punkte "Click_Select | Box_Select" -Logische Kombination aussieht, auch wenn nichts ausgewählt ist. Da ich jedoch für beide Auswahlen leer = falsch einsetzte, dachte ich, dass beide als falsch bewertet werden sollten und daher auch die 'oder' falsch sein sollte, was den Zustand 'ansonsten' auslöst. Ich habe getestet, den Parameter "leer" auf beiden Auswahlen zu ändern und als zusätzliches Argument für wann (), aber es scheint keine Wirkung zu haben. Und selbst dann, warum sollte beide Auswahlen aktiv sein, wenn es ein 'oder' Zustand ist? "leer"?
Kombination mehrerer Auswahlen in Altair mit der 'leeren' Eigenschaft ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post