首页 > 解决方案 > 如何在 Altair 的同一列中绘制两个不同的变量?

问题描述

一个非常新手的问题,但在使用 Altair 库时非常新。我将日期作为 X 轴,并且在包含 0 和 1 的 Y 列中。我想要两条线,一条代表 0,一条代表 1,两种颜色都不同。怎么做?

在此处输入图像描述

标签: pythonpandastime-seriesdata-analysisaltair

解决方案


您可以通过将此列映射到颜色编码来做到这一点。这是一个简短的示例:

import altair as alt
import pandas as pd
import numpy as np

np.random.seed(0)

df = pd.DataFrame({
    'x': pd.date_range('2020-01-01', freq='D', periods=10),
    'y': np.random.randn(10).cumsum(),
    'z': np.random.randint(0, 2, 10),
})

alt.Chart(df).mark_line().encode(
    x='x:T',
    y='y:Q',
    color='z:O'
)

在此处输入图像描述


推荐阅读