В спецификациях Vega и Vega-Lite поле background задаёт
фон всего визуализационного холста. Это глобальный параметр уровня сцены
(scene), который влияет на восприятие графика в целом, а не на отдельные
визуальные marks.
В Vega-Lite оно чаще используется в верхнем уровне спецификации:
{
"background": "#ffffff"
}
В Vega аналогично:
{
"$schema": "https://vega.github.io/schema/vega/v5.json",
"background": "#f5f5f5"
}
backgroundПоле поддерживает любые CSS-совместимые значения цвета:
#fff, #ffffffrgba(0,0,0,0.1)white, black,
transparentКлючевой аспект — фон применяется ко всей SVG/Canvas сцене, а не к области данных.
background напрямую влияет на:
При работе с дашбордами часто используют прозрачный фон:
{
"background": "transparent"
}
Это позволяет встраивать визуализацию в уже стилизованный UI.
paddingpadding определяет внутренние отступы между границей
сцены и областью построения графика (plotting area). Это один из
ключевых параметров управления компоновкой.
{
"padding": 20
}
Значение в этом случае применяется равномерно со всех сторон.
Также поддерживается детализированная форма:
{
"padding": {
"left": 40,
"right": 20,
"top": 10,
"bottom": 30
}
}
Внутри Vega/Vega-Lite визуализация делится на несколько областей:
padding определяет смещение plot-области внутрь сцены,
фактически влияя на координатную систему:
padding тесно взаимодействует с механизмом
autosize, поскольку оба параметра влияют на итоговую
геометрию визуализации.
autosizeautosize управляет тем, как Vega/Vega-Lite вычисляет
размеры графика и адаптирует его под контейнер или заданные размеры.
Существует несколько стратегий:
padfitfit-xfit-ynoneПример:
{
"autosize": "pad"
}
padpad — значение по умолчанию в Vega.
Особенности:
width и height как размер
plot-областиpadding вокругЭто классическая модель «внутреннего графика».
fit{
"autosize": "fit"
}
fit изменяет поведение:
width и heightИспользуется при строгой подгонке под контейнеры UI.
fit-x и
fit-yПозволяют ограничить адаптацию только одной осью:
fit-x — подгонка по ширинеfit-y — подгонка по высотеПример:
{
"autosize": "fit-x"
}
Такие режимы полезны для горизонтальных диаграмм, где высота фиксирована, а ширина адаптивна.
none{
"autosize": "none"
}
Отключает автоматическое масштабирование.
Особенности:
Применяется в низкоуровневых сценах Vega или при ручной компоновке.
background, padding и
autosizeЭти три поля формируют базовую систему геометрии визуализации.
width и heightautosizepaddingbackground{
"background": "transparent",
"autosize": "fit",
"padding": 10
}
Характеристики:
{
"background": "#ffffff",
"autosize": "pad",
"padding": 40
}
Характеристики:
{
"background": "#fafafa",
"autosize": "fit-x",
"padding": {
"left": 10,
"right": 10,
"top": 5,
"bottom": 5
}
}
Характеристики:
autosize влияет не только на размер, но и на:
scale)axis)clip)При fit изменяются реальные координаты пикселей, что
делает невозможным простое наложение фиксированных SVG-слоёв поверх
графика без синхронизации.
Увеличение padding приводит к:
Особенно критично при:
В зависимости от renderer-а:
<rect>fillRectЭто влияет на:
Внутренний механизм Vega/Vega-Lite использует следующую иерархию:
autosizewidth / heightpaddingОшибки в конфигурации обычно проявляются как:
Комбинации этих трёх полей часто определяют архитектуру визуализации:
fit и
прозрачный backgroundpad и фиксированный
фонpadding и
адаптивные режимы autosizeЭти параметры формируют основу геометрического поведения всей системы Vega, задавая баланс между точностью размещения элементов и гибкостью адаптации к интерфейсам.