如何在 Altair 图表上只显示一个系列

Posted

技术标签:

【中文标题】如何在 Altair 图表上只显示一个系列【英文标题】:How to display only one series on Altair chart 【发布时间】:2021-12-16 17:26:04 【问题描述】:

对于交互式图例示例,我想知道是否有一种方法可以在运行代码后仅显示一个系列并在图表上隐藏其他系列。然后,当点击图例时,图表可以改变以突出显示不同的系列。

当前示例代码首先显示所有系列,然后在单击图例时突出显示不同系列。

示例代码如下:

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_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')),
    opacity=alt.condition(selection, alt.value(1), alt.value(0.2))
).add_selection(
    selection
)

【问题讨论】:

【参考方案1】:

您可以使用选择的init 参数来执行此操作;例如:

selection = alt.selection_multi(fields=['series'], bind='legend', init=['series': 'Agriculture'])

【讨论】:

以上是关于如何在 Altair 图表上只显示一个系列的主要内容,如果未能解决你的问题,请参考以下文章

每次我在前端放大/缩小时,如何以编程方式检查 Altair 图表的放大/缩小功能

使用 VConcat 在 Streamlit 中未显示 Altair 图表

如何在 y 轴上只获得整数?

Altair Hconcat - 是不是可以在同一个 HConCat 中为图表配置不同的轴?

Altair 条形图 - 标签放置和格式设置

使用 Altair 和 Jupyter 绘图时如何在轴标签中显示希腊字母?