Сортировка сегментов стека гистограммы - PullRequest
0 голосов
/ 07 мая 2020

Я играл с гистограммами с накоплением и хотел создать испанский флаг sh с помощью Vega Lite. Я указал высоту и цвет полос в данных, но мне не удалось отсортировать отдельные стопки:

Spanish Flag wrongly ordered

Я установил масштаб равным нулю, поэтому что цвет взят из указанного поля. Я закодировал положение полосы в атрибуте pos и хочу отсортировать сегменты по нему. Я также пытался немного изменить цвет красных полос, но это не помогло.

Spe c:

{
  "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
  "description": "Fun with Flags",
  "data": {
    "values": [
      {"h": 5, "color": "#aa151b", "pos": 6, "country": "spain"},
      {"h": 5, "color": "#f1bf00", "pos": 4, "country": "spain"},
      {"h": 5, "color": "#aa152b", "pos": 2, "country": "spain"}
    ]
  },
  "width": {"step": 300},
  "mark": {"type": "bar"},
  "encoding": {
    "x": {"field": "country", "type": "nominal"},
    "y": {"field": "h", "type": "quantitative"},
    "color": { 
      "field": "color", 
      "scale": null,
      "type": "nominal",
      "sort": {"field": "pos", "op": "min", "order": "descending"}
    }
  }
}

Вот ссылка на Редактор Vega с Spe c.

1 Ответ

0 голосов
/ 13 мая 2020

Вместо сортировки цветовой кодировки мне пришлось указать канал порядка, как , как описано в документации .

Это дает мне следующее spe c:

{
  "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
  "description": "Fun with Flags",
  "data": {
    "values": [
      {"h": 5, "color": "#aa152b", "pos": 6, "country": "spain"},
      {"h": 5, "color": "#f1bf00", "pos": 4, "country": "spain"},
      {"h": 5, "color": "#aa152b", "pos": 2, "country": "spain"}
    ]
  },
  "width": {"step": 300},
  "mark": {"type": "bar"},
  "encoding": {
    "x": {"field": "country", "type": "nominal"},
    "y": {"field": "h", "type": "quantitative"},
    "color": { 
      "field": "color", 
      "scale": null,
      "type": "nominal"
    },
    "order": {
      "field": "pos",
      "type": "quantitative"
    }
  }
}

И правильный испанский sh флаг:

enter image description here

Ссылка на редактор Vega

...