【问题标题】:Why is altair single select not changing my graph?为什么 altair 单选不会改变我的图表?
【发布时间】:2021-12-01 20:41:15
【问题描述】:

我试图用谷歌搜索为什么这不起作用,但对我来说似乎并不明显。你能告诉我为什么选择下拉菜单没有改变图表吗? 谢谢

source = data.unemployment_across_industries.url
df = data.unemployment_across_industries()
series_val = df.series.str.split(',').explode().unique().tolist()
print(series_val)
input_dropdown = alt.binding_select(options=series_val, name='Industry: ')
selection = alt.selection_single(fields=['series'], bind=input_dropdown)

fig3 = alt.Chart(source).mark_area().encode(
    alt.X('yearmonth(date):T',
        axis=alt.Axis(format='%Y', domain=False, tickSize=0)
    ),
    alt.Y('sum(count):Q', stack='center', axis=None),
    alt.Color('series:N',
        scale=alt.Scale(scheme='category20b')
    )
).add_selection(
    selection
)
fig3

【问题讨论】:

    标签: dropdown altair


    【解决方案1】:

    选择不会更改图表,因为您没有将图表的任何部分作为选择的条件(您的任何编码都不依赖于选择的值,数据也不会根据选择进行过滤)。

    也许你打算这样做?

    fig3 = alt.Chart(source).mark_area().encode(
        alt.X('yearmonth(date):T',
            axis=alt.Axis(format='%Y', domain=False, tickSize=0)
        ),
        alt.Y('sum(count):Q', stack='center', axis=None),
        color=alt.condition(selection,
                alt.Color('series:N', scale=alt.Scale(scheme='category20b')),
                alt.value('lightgray'))
    ).add_selection(
        selection
    )
    

    有关如何在 Altair 图表中使用选择的更多信息,请参阅 https://altair-viz.github.io/user_guide/interactions.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-27
      • 2016-02-02
      • 2022-07-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多