python - 防止在 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”的线路片段?
解决方案
听起来您想要的是估算一个空值。您可以使用编码中的插补转换来执行此操作:
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'
)
推荐阅读
- android - android studio 模拟器进程退出,代码为 1 linux mint
- c# - 将纯色分解为具有透明度的叠加颜色
- java - JPA findby 过滤子字符串列表
- python - 错误的输出。如果 list2 中存在,则从 list1 中删除元素
- node.js - 如何使用 Yarn 全局安装 Gulp.js v4?
- c# - 如何使用 ViewModel 继承绑定到子 ViewModel?
- javascript - 当有一个矩形覆盖整个区域时,为什么有些矩形会消失?
- mysql - 链接表与 json 对象
- flutter - 无法处理 SocketException
- javascript - CKEditor 高度随着使用打字而增长