vega-lite:单个图表中的多个标记

时间:2016-06-14 15:42:17

标签: vega vega-lite

我目前正在评估我应该在开箱即用的图表中使用什么类型的js图表引擎,而vega-lite同时也非常简单灵活。但是,我想知道在一个图表中是否可以有多种类型的标记。例如,我可能有一个很长的月度时间序列,我可能会考虑使用一个月平均值的条形图层,而在一个线层中,我可能会对正在进行的年份的观察结果进行演变。

我还没有在vega-lite的网页上看到任何有多个标记的例子。因此,如果那里的任何人知道如何做或知道任何类型的例子,我将非常感谢您的反馈。

干杯

Mauricio

1 个答案:

答案 0 :(得分:2)

您可以使用"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"}}
    }
  ]
}

enter image description here

每个层都是一个引用全局数据的编码;您还可以在每个图层中指定不同的数据。

请注意,上述规范在Vega-Lite版本1.x中是正确的。在Vega-Lite版本2.x中,"layers"已更改为"layer",以及其他更改。