Vegalite忽略NaN与空值实现折线图无断点连续显示方法咨询
VegaLite折线图忽略空值解决方法
你需要在现有配置的spec节点下新增transform过滤规则,针对每个重复渲染的指标字段单独过滤无效值即可,完整配置如下:
{ "title": "Blood Panel Data", "width": 600, "height": 300, "config": { "axis": { "grid": true, "gridColor": "DarkSlateGrey", "background": "white" } }, "repeat": { "layer": ["Cholesterol","Triglycerides","HDL Chol","LDL Chol","Non-HDL","Cholesterol/HDL-C Ratio"] }, "spec": { "transform": [ {"filter": "isValid(datum[repeat.layer])"} ], "mark" : { "type" : "line", "interpolate": "monotone", "point": true }, "encoding": { "x": {"field": "Date", "type": "temporal"}, "y": { "field": {"repeat": "layer"}, "type": "quantitative", "title": "Value" }, "color": { "datum": {"repeat": "layer"}, "type": "nominal" } } } }
配置说明
- 新增的
transform配置中使用VegaLite内置的isValid()函数,可自动排除null、NaN、空字符串三类无效值 datum[repeat.layer]会动态匹配当前重复图层对应的胆固醇指标字段,实现每个指标单独过滤自身的空值,不会误删其他指标的有效数据- 过滤后每个指标仅保留有有效值的点位,折线会自动跨过空值对应的日期直接连接相邻有效点位,不会出现断口
内容的提问来源于stack exchange,提问作者Karlstens
相关产品推荐
相关产品推荐

