在 Altair 中,相等条件不起作用
In Altair equality condition doesn't work
我正在尝试在 Altair 中构建散点图,其中点的颜色由滑块确定。在此示例中,我只想将圆柱体与滑块选择的圆柱体相同的汽车涂成橙色。 Altair 条件中的运算符 == 不起作用。我尝试了不同的运算符,有效的是 > >= < <= 无效的是 == !=
这是一个无效代码:
slider = alt.binding_range(min=3, max=8, step=1, name='cyl')
selection = alt.selection_single(fields=['Cylinders'],
bind=slider, init={'Cylinders': 3})
alt.Chart(cars).mark_circle(size=60).encode(
x="Miles_per_Gallon",
y="Displacement",
color=alt.condition(alt.datum.Cylinders == selection.Cylinders,
alt.value('#f26414'), alt.value('lightgray'),
),
).add_selection(
selection
)
我怎样才能让平等发挥作用?
为了相等,您可以在不使用运算符的情况下检查点是否在选择中:
color=alt.condition(selection, alt.value('#f26414'), alt.value('lightgray'))
我正在尝试在 Altair 中构建散点图,其中点的颜色由滑块确定。在此示例中,我只想将圆柱体与滑块选择的圆柱体相同的汽车涂成橙色。 Altair 条件中的运算符 == 不起作用。我尝试了不同的运算符,有效的是 > >= < <= 无效的是 == !=
这是一个无效代码:
slider = alt.binding_range(min=3, max=8, step=1, name='cyl')
selection = alt.selection_single(fields=['Cylinders'],
bind=slider, init={'Cylinders': 3})
alt.Chart(cars).mark_circle(size=60).encode(
x="Miles_per_Gallon",
y="Displacement",
color=alt.condition(alt.datum.Cylinders == selection.Cylinders,
alt.value('#f26414'), alt.value('lightgray'),
),
).add_selection(
selection
)
我怎样才能让平等发挥作用?
为了相等,您可以在不使用运算符的情况下检查点是否在选择中:
color=alt.condition(selection, alt.value('#f26414'), alt.value('lightgray'))