Я вижу код для создания точечного графика Уилкинсона в Vega-Lite:
{
"$schema": "https://vega.github.io/schema/vega-lite/v4.json",
"description": "A Wilkinson Dot Plot",
"height": 100,
"data": {
"values": [
10,11,11,11,14,15,17,
22,25,26,28,
33,33,33,34,37
]
},
"transform": [{
"window": [{"op": "rank", "as": "id"}],
"groupby": ["data"]
}],
"mark": {
"type": "circle",
"opacity": 1
},
"encoding": {
"x": {"field": "data", "type": "ordinal"},
"y": {"field": "id", "type": "ordinal", "axis": null, "sort": "descending"}
}
}
Создает график, объединяющий точные числа, но я бы хотел, чтобы вывод был по первой цифре, так что7 вертикальных точек для 1, 4 вертикальных точки для 2 и 5 вертикальных точек для 3. Я попытался добавить calculation: "str.map(x => x.charAt(0))"
в массив преобразования, чтобы сгруппировать его, но безуспешно в моем выполнении. Любые идеи приветствуются!