在Altair中可以使用条件选择器来过滤或突出显示数据。但是,在使用条件进行选择时,选择器的选择相等度会受到数据类型的影响。例如,如果选择器与字符串数据列一起使用,那么相等性将完全匹配,大小写敏感。
为了解决这个问题,可以使用Altair的Scale类和ScaleConfig类来调整选择器的选择相等度。具体来说,可以在Scale中设置domainMid属性来指定选择器的选择相等性,如下所示:
import altair as alt
source = ... # 加载数据
alt.Chart(source).mark_point().encode(
x='x',
y='y',
color=alt.condition(
alt.datum.category == 'A',
alt.ColorValue("red"),
alt.ColorValue("blue")
),
).add_selection(
category_select=alt.selection_single(
name='Select',
fields=['category'],
domainMid='A'
)
)
在这个示例中,我们为Category字段添加一个单选按钮选择器,使用"domainMid='A'"来设置选择相等性为'A'。这将确保选择器选择'A'时,只有'A'被突出显示,而不是大小写变体。