Я не думаю, что в настоящее время существует способ управлять порядком z диаграмм с областями из спецификации диаграммы, но вы можете управлять им через порядок источника данных: цвета складываются в том порядке, в котором они появляются. Например, здесь в строке 0 первым идет цвет 1, а в строке 1 первым идет цвет 0:
{
"data": {
"values": [
{"x": 0, "y": 2, "row": 0, "color": 1},
{"x": 1, "y": 1, "row": 0, "color": 1},
{"x": 0, "y": 1, "row": 0, "color": 0},
{"x": 1, "y": 2, "row": 0, "color": 0},
{"x": 0, "y": 2, "row": 1, "color": 0},
{"x": 1, "y": 1, "row": 1, "color": 0},
{"x": 0, "y": 1, "row": 1, "color": 1},
{"x": 1, "y": 2, "row": 1, "color": 1}
]
},
"mark": "area",
"encoding": {
"x": {"field": "x", "type": "temporal"},
"y": {"field": "y", "type": "quantitative", "stack": false},
"color": {"field": "color", "type": "ordinal"},
"row": {"field": "row", "type": "ordinal"}
},
"height": 50
}
![введите здесь описание изображения](https://i.stack.imgur.com/h0XdR.png)
Если вы переставите строки так, чтобы цвет 0 появлялся перед цветом 1 в обоих случаях, порядок стека на диаграмме будет постоянным:
{
"data": {
"values": [
{"x": 0, "y": 1, "row": 0, "color": 0},
{"x": 1, "y": 2, "row": 0, "color": 0},
{"x": 0, "y": 2, "row": 0, "color": 1},
{"x": 1, "y": 1, "row": 0, "color": 1},
{"x": 0, "y": 2, "row": 1, "color": 0},
{"x": 1, "y": 1, "row": 1, "color": 0},
{"x": 0, "y": 1, "row": 1, "color": 1},
{"x": 1, "y": 2, "row": 1, "color": 1}
]
},
"mark": "area",
"encoding": {
"x": {"field": "x", "type": "temporal"},
"y": {"field": "y", "type": "quantitative", "stack": false},
"color": {"field": "color", "type": "ordinal"},
"row": {"field": "row", "type": "ordinal"}
},
"height": 50
}
![введите здесь описание изображения](https://i.stack.imgur.com/xUqh1.png)
Если вы измените порядок строк входных данных по годам (так, чтобы все записи за 2019 год предшествовали всем записям за 2020 год), порядок стека должен быть одинаковым на каждой панели.
person
jakevdp
schedule
10.03.2020