4

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

我没有在 vega-lite 的网页中看到任何带有多个标记的示例。因此,如果有人知道如何做到这一点或知道任何此类示例,我将非常感谢您的反馈。

干杯

毛里西奥

4

1 回答 1

8

您可以使用"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",以及其他更改。

于 2016-08-28T20:12:09.640 回答