我有一个包含多个类型值对的数据框。可以说是:
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'])
我想,应该有不同的设置,因为这种方式是错误的。 它是过滤数据帧作为数据源的替代解决方案吗?
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)
)
将颜色编码的域设置为仅包含您想要的选项也可能有效。