You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Altair图表中初始仅展示单个数据系列并支持图例交互切换

实现方案

你只需要对现有代码做两处核心调整即可满足需求:

  • 给交互选择器添加init参数,指定默认选中的单个数据系列
  • 将未选中系列的不透明度设置为0,实现完全隐藏效果

如果需要每次点击仅展示一个系列、自动取消之前选中的系列,也可以把原来的selection_multi替换为selection_single,更符合切换逻辑。

修改后的完整代码如下:

import altair as alt
from vega_datasets import data

source = data.unemployment_across_industries.url

# 增加init参数指定初始选中的系列,这里以数据集内置的"Agriculture"为例
# 如需每次仅选中一个系列,可将selection_multi改为selection_single
selection = alt.selection_multi(fields=['series'], bind='legend', init=[{'series': 'Agriculture'}])

alt.Chart(source).mark_area().encode(
    alt.X('yearmonth(date):T', axis=alt.Axis(domain=False, format='%Y', tickSize=0)),
    alt.Y('sum(count):Q', stack='center', axis=None),
    alt.Color('series:N', scale=alt.Scale(scheme='category20b')),
    # 未选中的系列透明度设为0,完全隐藏
    opacity=alt.condition(selection, alt.value(1), alt.value(0))
).add_selection(
    selection
)

如果需要修改默认展示的系列,只需把init参数里的Agriculture替换为你目标series对应的值即可。

内容的提问来源于stack exchange,提问作者shimiao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 14:15:08