目前,Vega不支持交互式轴标签,即无法通过单击轴标签创建选择 (参见问题1657)。因此Altair也不能支持。
因此,我正在尝试通过提供图例选择并更改轴标签的外观来找到解决方法。
我能够根据条件对标签进行着色(请参见下面的代码示例)。
import altair as alt
from vega_datasets import data
source = data.unemployment_across_industries.url
selection = alt.selection_multi(fields=['series'], bind='legend')
alt.Chart(source).mark_bar().encode(
alt.X('series:N', axis=alt.Axis(labelColor=alt.condition('datum.value == "Finance"', alt.value('red'), alt.value('black')))),
alt.Y('sum(count):Q'),
alt.Color('series:N', scale=alt.Scale(scheme='category20b')),
opacity=alt.condition(selection, alt.value(1), alt.value(0.2))
).add_selection(
selection
)
然而,当尝试使用选择而不是表达式时,我会遇到错误。
alt.X('series:N', axis=alt.Axis(labelColor=alt.condition(selection, alt.value('red'), alt.value('black')))),
有没有办法将标签外观与选择 (这里是绑定到图例) 相关联?