防止 Altair 图表中的线条连接

dro*_*ops 1 python altair

我想在牵牛星图中绘制两条线。其中一行没有某些 x 值的值。目前,线路片段正在连接,但我需要它们显示为断开连接。

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

dd = {'x': np.arange(8),
     'group': [1,1,1,2,2,2,1,1],
     'y': [5,1,2,4,2,1,4,5]}

df = pd.DataFrame(dd)

alt.Chart(df).mark_line(point=True).encode(x='x:N', y='y', color='group:O')
Run Code Online (Sandbox Code Playgroud)

电流输出:

在此输入图像描述

期望的输出:

在此输入图像描述

如何断开组“1”的线路片段?

jak*_*vdp 7

听起来您想要的是估算空值。您可以使用编码中的插补变换来完成此操作:

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

dd = {'x': np.arange(8),
     'group': [1,1,1,2,2,2,1,1],
     'y': [5,1,2,4,2,1,4,5]}

df = pd.DataFrame(dd)

alt.Chart(df).mark_line(point=True).encode(
    x='x:N',
    y=alt.Y('y', impute=alt.ImputeParams(value=None)),
    color='group:O'
)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述