如何在Vega Lite中绘制对角规则线?空图表问题求助
在Vega-Lite中使用
value绘制规则线的解决方案 你遇到的问题根源在于:Vega-Lite的encoding字段里用value设置坐标时,需要至少一条数据条目作为渲染依托——没有数据源的话,图表没有可绑定的实例,自然无法显示规则线。
以下是两种符合你需求的解决方案:
方法一:添加空数据源配合encoding设置
给图表提供一个空的数据源条目,让encoding中的value设置能绑定到实例上:
{ "data": {"values": [{}]}, "encoding": { "x": {"value": 0, "type": "quantitative"}, "x2": {"value": 1, "type": "quantitative"}, "y": {"value": 0, "type": "quantitative"}, "y2": {"value": 1, "type": "quantitative"} }, "mark": {"type": "rule"} }
方法二:直接在mark属性中定义位置
这种方式完全不需要依赖数据源,直接在mark里设置坐标,更适合单独添加的辅助线,完美匹配你“与数据分开添加”的需求:
{ "mark": { "type": "rule", "x": 0, "x2": 1, "y": 0, "y2": 1, "strokeWidth": 2 // 可选,调整线宽让线条更清晰 } }
两种方法都能实现从[0,0]到[1,1]的对角线,你可以根据实际场景选择使用。
内容的提问来源于stack exchange,提问作者Alex Craft
相关产品推荐
相关产品推荐

