首页 > 解决方案 > 防止在 Altair Chart 中连接线

问题描述

我想在 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')

电流输出:

在此处输入图像描述

所需的输出:

在此处输入图像描述

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

标签: pythonaltair

解决方案


听起来您想要的是估算一个空值。您可以使用编码中的插补转换来执行此操作:

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'
)

在此处输入图像描述


推荐阅读