Почему фасет столбца в Vega Lite некорректно работает со слоем?

Я пытаюсь создать график из трех столбцов, и он работает, когда нет слоя.

введите здесь описание изображения

Но когда я добавляю слой - 3 колонки сливаются в один сюжет (открыть в редакторе).

введите здесь описание изображения

Как сделать так, чтобы поле duration разделяло его на 3 столбца?

КОД

Для сюжета с полными данными используйте ссылку редактора выше.

{
  "encoding": {
    "column": { "field": "duration", "type": "nominal" },

    "x": { "field": "bin_i", "type": "ordinal" }
  },
  "layer": [
    {
      "mark": { "type": "bar", "size": 2 },
      "encoding": {
        "y": { "field": "min", "type": "quantitative" },
        "y2": { "field": "max", "type": "quantitative" }
      }
    },
    {
      "mark": { "type": "tick" },
      "encoding": {
        "y": { "field": "mean", "type": "quantitative" }
      }
    }
  ],
  "data": {
    "values": [
      {
        "bin_i": 1,
        "duration": 1,
        "max": 1.9642835793718165,
        "mean": 1.0781367168962268,
        "min": 0.3111818864927448
      },
      ...
    ]
  }
}

person Alex Craft    schedule 20.01.2020    source источник


Ответы (1)


Многослойная диаграмма не принимает фасетную кодировку. Если вы хотите фасетировать многослойную диаграмму, вам следует использовать facet оператор, а не фасетную кодировку.

Для примера, это будет выглядеть следующим образом (Vega редактор):

{
  "facet": {"column": {"field": "duration", "type": "nominal"}},
  "spec": {
    "encoding": {
      "x": {"field": "bin_i", "type": "ordinal"}
    },
    "layer": [
      {
        "mark": {"type": "bar", "size": 2},
        "encoding": {

          "y": {"field": "min", "type": "quantitative"},
          "y2": {"field": "max"}
        }
      },
      {
        "mark": {"type": "tick"},
        "encoding": {
          "y": {"field": "mean", "type": "quantitative"}
        }
      }
    ]
  },
  "data": {
    "values": [
      {
        "bin_i": 1,
        "duration": 1,
        "max": 1.9642835793718165,
        "mean": 1.0781367168962268,
        "min": 0.3111818864927448
      },
      ...
    ]
  }
}

введите здесь описание изображения

person jakevdp    schedule 20.01.2020