Altair Chart 将所选数据绘制成图表

问题描述 投票:0回答:1

我有一个包含多个类型值对的数据框。可以说是:

dt = pd.DataFrame({'date': ['2022', '2023', '2024'], type':['t1', 't2', 't3'], 'value': [1, 2, 3]})

当然,数据框中有更多的数据。 显示所有 3 个图表的标准方法是:

    fig = alt.Chart(source).mark_line().encode(
        x=alt.X('date:T'),
        y=alt.Y('value:Q'),
        color=alt.Color('type:N')

它将显示 3 条不同类型的线。如果我只想在图表上显示 2 种或 1 种类型怎么办? 我尝试将 y 轴设置为

y = alt.Y(['type1', 'type2'])

我想,应该有不同的设置,因为这种方式是错误的。 它是过滤数据帧作为数据源的替代解决方案吗?

charts line altair
1个回答
0
投票

您可以使用

transform_filter
提前过滤图表中的数据而不是数据框:

import altair as alt
from altair import datum

from vega_datasets import data
pop = data.population.url

alt.Chart(pop).mark_area().encode(
    x='age:O',
    y='people:Q',
).transform_filter(
    (datum.year == 2000) & (datum.sex == 1)
)

将颜色编码的域设置为仅包含您想要的选项也可能有效。

© www.soinside.com 2019 - 2024. All rights reserved.