Почему фасет столбца в Vega Lite не работает должным образом со слоем? - PullRequest
1 голос
/ 20 января 2020

Я пытаюсь создать 3-столбчатый график, и он работает, когда нет слоя.

enter image description here

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

enter image description here

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

CODE

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

{
  "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
      },
      ...
    ]
  }
}

1 Ответ

1 голос
/ 20 января 2020

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

Для вашего примера это будет выглядеть так ( Vega Editor ):

{
  "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
      },
      ...
    ]
  }
}

enter image description here

...