Для составных диаграмм один из способов сделать это - применить пользовательские привязанные выделения к каждой диаграмме, поделив имена выборок между диаграммами, для которых требуется общее масштабирование. Простой пример ( vega editor ):
{
"data": {"url": "https://vega.github.io/vega-datasets/data/cars.json"},
"hconcat": [
{
"mark": "point",
"encoding": {
"x": {"type": "quantitative", "field": "Horsepower"},
"y": {"type": "quantitative", "field": "Acceleration"}
},
"selection": {
"zoom_x": {"type": "interval", "bind": "scales", "encodings": ["x"]},
"zoom_y1": {"type": "interval", "bind": "scales", "encodings": ["y"]}
}
},
{
"mark": "point",
"encoding": {
"x": {"type": "quantitative", "field": "Horsepower"},
"y": {"type": "quantitative", "field": "Weight_in_lbs"}
},
"selection": {
"zoom_x": {"type": "interval", "bind": "scales", "encodings": ["x"]},
"zoom_y1": {"type": "interval", "bind": "scales", "encodings": ["y"]}
}
}
]
}
Обратите внимание, что выбор zoom_x
распределяется между двумя диаграммами, в то время как каждая диаграмма имеет свою собственную версию zoom_y
. В результате масштабирование по оси X используется совместно для диаграмм, а масштабирование по оси Y не зависит.
Аналогичная стратегия работает для вашей ситуации # 2 (добавьте выделенное выделение по-разному для каждой подкарты).
Чтобы воспроизвести это в Vega, вы можете начать, щелкнув вкладку «Скомпилированная Vega» в редакторе Vega для диаграмм Vega-Lite: она покажет вам, как эти подходы реализованы в Vega.