防止在 Altair Chart 中连接线条
Prevent lines from being connected in 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”组的线段?
听起来你想要的是impute一个空值。您可以在编码中使用估算转换来执行此操作:
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'
)
我想在 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”组的线段?
听起来你想要的是impute一个空值。您可以在编码中使用估算转换来执行此操作:
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'
)