我目前正在评估我应该为开箱即用的图表使用哪种类型的 js 图表引擎,而 vega-lite 同时非常简单和灵活。但是,我想知道在一个图表中是否可以有不止一种类型的标记。例如,我可能有一个很长的月度时间序列,我可能会考虑有一个具有逐月平均值的条形层,而在一个线层中,我可能有当前年份的观察结果的演变。
我没有在 vega-lite 的网页中看到任何带有多个标记的示例。因此,如果有人知道如何做到这一点或知道任何此类示例,我将非常感谢您的反馈。
干杯
毛里西奥
您可以使用"layers"
规范将多个点类型叠加在一起。它相对较新,因此 Vega-Lite 网站上还没有很多示例,但这里有一个示例:
{
"data": {
"values": [
{"x": 1,"y": 2},
{"x": 2,"y": 4},
{"x": 3,"y": 5},
{"x": 4,"y": 3},
{"x": 5,"y": 4}
]
},
"layers": [
{
"encoding": {
"x": {"type": "quantitative","field": "x"},
"y": {"type": "quantitative","field": "y"}
},
"mark": "line",
"config": {"mark": {"color": "#1f77b4"}}
},
{
"encoding": {
"x": {"type": "quantitative","field": "x"},
"y": {"type": "quantitative","field": "y"}
},
"mark": "point",
"config": {"mark": {"color": "#ff7f0e"}}
}
]
}
每一层都是一个编码,它引用了全局数据;您还可以在每一层中指定不同的数据。
请注意,上述规范在 Vega-Lite 版本 1.x 中是正确的。在 Vega-Lite 版本 2.x 中,"layers"
已更改为"layer"
,以及其他更改。