Кодирование джиттера или смещения еще не реализовано в Vega-Lite; см. https://github.com/vega/vega-lite/issues/4703 для запроса соответствующей функции.
Между тем, лучший способ приблизить то, что вы хотите, это использовать кодировку столбца вместе с кодировкой x, построенной из случайным образом порожденный джиттер. Преобразование и кодировка могут выглядеть примерно так:
"transform": [{"calculate": "random()", "as": "jitter"}],
"encoding": {
"size": {"value": 65},
"column": {"field": "cv", "type": "ordinal", "spacing": 0},
"x": {
"field": "jitter",
"type": "quantitative",
"axis": {"title": null, "labels": false},
"scale": {"domain": [-1, 2]}
},
"y": {"field": "c", "type": "quantitative"},
"color": {"field": "os", "type": "nominal"}
}
Можно увидеть упрощенный пример использования ваших данных здесь : ![enter image description here](https://i.stack.imgur.com/wtJT9.png)
Оттуда вы можете настроить сетки, галочки, метки и все остальное, чтобы он выглядел так, как вам бы хотелось. Это несовершенно, но это единственный способ получить такое поведение в грамматике Vega-Lite.