Конфигурация
Объект config задаёт визуальные свойства по умолчанию и определяет тему оформления.
Парсер Vega принимает конфигурацию JSON с исходными настройками визуального кодирования. Разные конфигурации позволяют оформлять диаграммы в разных темах. Конфигурация — это объект JSON с именованными свойствами, сгруппированными по типам. Передайте его дополнительным аргументом методу разбора:
var runtime = vega.parse(spec, config);
Спецификация Vega также может содержать свойство config верхнего уровня. Настройки из него имеют приоритет над внешней конфигурацией, переданной парсеру.
Например, следующая спецификация по умолчанию показывает светло-серую сетку оси:
{
"width": 500,
"height": 200,
"config": {
"axis": {
"grid": true,
"gridColor": "#dedede"
}
},
...
}
Справочник конфигурации
- Свойства представления
- Свойства событий
- Свойства примитивов
- Свойства стилей
- Свойства осей
- Свойства легенд
- Свойства заголовков
- Свойства проекций
- Диапазоны шкал
- Сигналы
Свойства представления
Свойства верхнего уровня объекта конфигурации.
| Свойство | Тип | Описание |
|---|---|---|
| autosize | String | Object | Signal | Режим автоматического расчёта размера по умолчанию: "pad", "fit" или "none". Подробнее см. описание autosize. Сигналы поддерживаются начиная с версии ≥ 5.10. |
| background | Color | Signal | Цвет фона представления; null означает прозрачность. Сигналы поддерживаются начиная с версии ≥ 5.10. |
| description | String | Текстовое описание визуализации по умолчанию. Определяет атрибут aria-label контейнера представления Vega. ≥ 5.10 |
| padding | Number | Object | Signal | Отступы вокруг визуализации в пикселях. Число применяется ко всем сторонам; объект задаётся в формате {"left": 5, "top": 5, "right": 5, "bottom": 5}. Сигналы поддерживаются начиная с версии ≥ 5.10. |
| width | Number | Signal | Ширина области данных в пикселях. ≥ 5.10 |
| height | Number | Signal | Высота области данных в пикселях. ≥ 5.10 |
| group | Object | Свойства верхнеуровневой группы, представляющей область данных диаграммы. Допустимы свойства примитива, например "fill", "stroke" и "strokeWidth". |
| locale | Object | Определения локали для разбора строк и форматирования чисел и дат. Объект содержит number и/или time с определениями локали. Параметр locale конструктора View может переопределить эту настройку. ≥ 5.12 |
| lineBreak | String | Signal | Разделитель строк текста, например символ перевода строки. Это общий параметр текстовых примитивов, который можно переопределить настройкой примитива, стиля или каналом кодирования lineBreak. Если задан сигнал, его результатом может быть строка или регулярное выражение. ≥ 5.10 |
Примеры
Зададим цвета фона представления и области построения:
{
"background": "white",
"group": {
"fill": "#dedede"
}
}
Зададим немецкую локаль для чисел и времени:
{
"locale": {
"number": {
"decimal": ",",
"thousands": ".",
"grouping": [3],
"currency": ["", " €"]
},
"time": {
"dateTime": "%A, der %e. %B %Y, %X",
"date": "%d.%m.%Y",
"time": "%H:%M:%S",
"periods": ["AM", "PM"],
"days": ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"],
"shortDays": ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
"months": ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
"shortMonths": [ "Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"]
}
}
}
Свойства событий
Настройки обработки событий в блоке "events".
| Свойство | Тип | Описание |
|---|---|---|
| bind | String | Управляет привязкой элементов ввода DOM к сигналам: "any" (по умолчанию, разрешены все привязки), "container" (для всех привязок используется контейнер представления без отдельных селекторов) или "none" (все привязки отключены). ≥ 5.5 |
| container | Boolean | Управляет обработчиками источника "container", который сообщает об изменениях размера контейнера представления. true (по умолчанию) разрешает их, false запрещает. ≥ 6.4 |
| defaults | Object | Определяет, для каких событий внутри представления Vega подавлять стандартное поведение через event.preventDefault. Объект defaults содержит одно свойство: "prevent" (какие события подавлять) или "allow" (для каких сохранять стандартное поведение). Значение — логический флаг для всех событий либо массив строк с типами событий. |
| globalCursor | Boolean | Управляет областью изменения курсора. При false (по умолчанию) он меняется только внутри View, при true — во всём документе. Значение false помогает избежать затрат на пересчёт стилей браузером. ≥ 5.13 |
| selector | Boolean | String[ ] | Управляет обработчиками внешних источников с CSS-селектором. true (по умолчанию) разрешает их, false запрещает. Массив строк разрешает только указанные типы событий, например "mousemove" и "wheel". ≥ 5.5 |
| timer | Boolean | Управляет обработчиками источника "timer": true (по умолчанию) разрешает их, false запрещает. ≥ 5.5 |
| view | Boolean | String[ ] | Управляет обработчиками источника Vega "view". true (по умолчанию) разрешает все, false запрещает все. Массив строк разрешает только перечисленные типы событий, например "mousemove" и "wheel". ≥ 5.5 |
| window | Boolean | String[ ] | Управляет обработчиками источника браузера "window". true (по умолчанию) разрешает все, false запрещает все. Массив строк разрешает только перечисленные типы событий, например "mousemove" и "wheel". ≥ 5.5 |
Примеры
Отключим обработчики внешних элементов DOM с CSS-селектором и разрешим для окна браузера только события mousemove и mouseup:
"events": {
"selector": false,
"window": ["mousemove", "mouseup"]
}
Подавим стандартное поведение всех событий внутри представления Vega:
"events": {
"defaults": {
"prevent": true
}
}
Подавим стандартное поведение всех событий внутри представления, кроме wheel:
"events": {
"defaults": {
"allow": ["wheel"]
}
}
Свойства примитивов
Настройки по умолчанию для каждого типа примитива задаются в блоке с именем типа, например "area", "line" или "rect". Внутри допустимы свойства соответствующего примитива, такие как "fill", "stroke", "size" и "font". Общие значения для всех типов задаются в свойстве "mark".
Важные ограничения:
- Цвет заливки или обводки по умолчанию применяется, только если в спецификации Vega не определены ни
"fill", ни"stroke". - Значения общего свойства
"mark"переопределяются настройками конкретного типа, например"rect". Во встроенной конфигурации Vega уже заданы цвета некоторых типов примитивов; они имеют приоритет над цветами, указанными только в общем блоке"mark".
Примеры
Зададим цвет заливки и размер по умолчанию для symbol:
{
"symbol": {
"fill": "steelblue",
"size": 64
}
}
Зададим общую непрозрачность для всех типов примитивов:
{
"mark": {
"opacity": 0.8
}
}
Свойства стилей
Помимо свойств примитивов, оформление по умолчанию можно настроить именованными стилями в блоке style конфигурации. Стиль применяется директивой style в определении примитива.
Например, стиль "square" задаёт форму и толщину обводки для символов:
"style": {
"square": {
"shape": "square",
"strokeWidth": 2
}
}
Помимо пользовательских стилей, Vega предоставляет встроенные:
guide-label: подписи осей и легенд;guide-title: заголовки осей и легенд;group-title: заголовки диаграмм и разделов.
Стили имеют приоритет над общими настройками примитивов, но уступают свойствам осей, легенд и заголовков, описанным ниже.
Свойства осей
Настройки осей по умолчанию задаются в свойстве "axis" объекта конфигурации и применяются ко всем осям.
Дополнительные блоки относятся к осям определённой ориентации ("axisX", "axisY", "axisLeft", "axisTop" и т. д.) либо к полосовым шкалам ("axisBand"). Например, свойства "axisBand" применяются только к осям шкалы "band". Если подходит несколько блоков, настройки типа шкалы имеют приоритет над настройками ориентации, а те — над общими.
| Свойство | Тип | Описание |
|---|---|---|
| bandPosition | Number | Доля интерполяции, определяющая положение делений оси у шкалы band: 0 — левый край полосы, 0.5 — её середина. |
| domain | Boolean | Показывать ли линию оси по умолчанию. |
| domainCap | String | Форма концов линии оси: "butt" (по умолчанию), "round" или "square". ≥ 5.11 |
| domainColor | Color | Цвет линии оси. |
| domainDash | Number[ ] | Штриховой узор линии оси; [] означает сплошную линию. ≥ 5.0 |
| domainDashOffset | Number | Смещение начала штрихового узора линии оси в пикселях. ≥ 5.0 |
| domainOpacity | Number | Непрозрачность линии оси. ≥ 4.1 |
| domainWidth | Number | Толщина линии оси. |
| grid | Boolean | Показывать ли линии сетки по умолчанию. |
| gridCap | String | Форма концов линий сетки: "butt" (по умолчанию), "round" или "square". ≥ 5.11 |
| gridColor | Color | Цвет линий сетки. |
| gridDash | Number[ ] | Штриховой узор сетки; [] означает сплошные линии. |
| gridDashOffset | Number | Смещение начала штрихового узора сетки в пикселях. ≥ 5.0 |
| gridOpacity | Number | Непрозрачность линий сетки. |
| gridWidth | Number | Толщина линий сетки. |
| labels | Boolean | Показывать ли подписи делений оси по умолчанию. |
| labelAlign | String | Горизонтальное выравнивание подписей; переопределяет значение для ориентации оси. |
| labelAngle | Number | Угол наклона подписей в градусах. |
| labelBaseline | String | Вертикальная базовая линия подписей; переопределяет значение для ориентации оси. |
| labelBound | Boolean | Number | Флаг или допустимое превышение в пикселях для удаления подписей, выходящих за диапазон оси. |
| labelColor | Color | Цвет текста подписей делений. |
| labelFlush | Boolean | Number | Флаг или порог расстояния в пикселях для выравнивания крайних подписей. У оси x подпись рядом с началом выравнивается влево, а рядом с концом — вправо. При true допуск равен одному пикселю. |
| labelFlushOffset | Number | Смещение крайних выровненных подписей в пикселях (по умолчанию 0). |
| labelFont | String | Гарнитура подписей делений. |
| labelFontSize | Number | Размер шрифта подписей делений. |
| labelFontStyle | String | Стиль шрифта подписей, например normal или italic. ≥ 5.0 |
| labelFontWeight | String | Number | Насыщенность шрифта подписей. |
| labelLimit | Number | Максимальная длина подписей в пикселях. |
| labelLineHeight | Number | Межстрочный интервал многострочных подписей в пикселях. ≥ 5.10 |
| labelOffset | Number | Дополнительное смещение подписей в пикселях сверх tickOffset. ≥ 5.10 |
| labelOpacity | Number | Непрозрачность подписей делений. ≥ 4.1 |
| labelOverlap | Boolean | String | Способ устранения наложения подписей. false отключает обработку; true или "parity" удаляет каждую вторую подпись (подходит линейным осям); "greedy" последовательно удаляет подписи, перекрывающие последнюю видимую (часто лучше для логарифмических осей). |
| labelSeparation | Number | Минимальный зазор между рамками подписей, при котором они не считаются пересекающимися (по умолчанию 0). Игнорируется, если labelOverlap отключён. ≥ 5.0 |
| labelPadding | Number | Отступ между делениями оси и подписями в пикселях. |
| maxExtent | Number | Максимальная протяжённость делений и подписей в пикселях; задаёт верхнюю границу смещения заголовка оси. |
| minExtent | Number | Минимальная протяжённость делений и подписей в пикселях; задаёт нижнюю границу смещения заголовка оси. |
| ticks | Boolean | Показывать ли деления оси по умолчанию. |
| tickBand | String | Положение делений у полосовой шкалы: "center" (по умолчанию) в середине полос или "extent" на их границах. Может переопределить bandPosition, tickExtra и tickOffset. ≥ 5.8 |
| tickCap | String | Форма концов делений: "butt" (по умолчанию), "round" или "square". ≥ 5.11 |
| tickColor | Color | Цвет делений оси. |
| tickDash | Number[ ] | Штриховой узор делений; [] означает сплошные линии. ≥ 5.0 |
| tickDashOffset | Number | Смещение начала штрихового узора делений в пикселях. ≥ 5.0 |
| tickExtra | Boolean | Добавлять ли деление в начальной точке оси. Удобно для шкалы band, когда деления нужны на границах полос, а не в центре. Используйте вместе с "bandPosition": 1 и "padding": 0 у шкалы band. |
| tickOffset | Number | Смещение делений, подписей и линий сетки в пикселях. |
| tickOpacity | Number | Непрозрачность делений. ≥ 4.1 |
| tickRound | Boolean | Округлять ли координаты до ближайшего целого пикселя. |
| tickSize | Number | Длина делений оси в пикселях. |
| tickWidth | Number | Толщина делений оси в пикселях. |
| titleAlign | String | Горизонтальное выравнивание заголовка: "left", "center" или "right". Переопределяет автоматический выбор по titleAnchor. |
| titleAnchor | String | Опорная точка заголовка: "start", "middle", "end" или null (автоматически, по умолчанию). Например, при orient "bottom" она соответствует выравниванию слева, по центру или справа относительно диапазона шкалы. ≥ 5.0 |
| titleAngle | Number | Угол наклона заголовка в градусах. |
| titleBaseline | String | Вертикальная базовая линия заголовка. |
| titleColor | Color | Цвет текста заголовка. |
| titleFont | String | Гарнитура заголовка. |
| titleFontSize | Number | Размер шрифта заголовка. |
| titleFontStyle | String | Стиль шрифта заголовка, например normal или italic. ≥ 5.0 |
| titleFontWeight | String | Number | Насыщенность шрифта заголовка. |
| titleLimit | Number | Максимальная длина заголовка в пикселях. |
| titleLineHeight | Number | Межстрочный интервал многострочного заголовка в пикселях. ≥ 5.7 |
| titleOpacity | Number | Непрозрачность заголовка. ≥ 4.1 |
| titlePadding | Number | Отступ между подписями делений и заголовком в пикселях. |
| titleX | Number | Координата X заголовка относительно группы оси. |
| titleY | Number | Координата Y заголовка относительно группы оси. |
| translate | Number | Смещение системы координат при размещении оси. По умолчанию оси сдвигаются на 0,5 пикселя по x и y, чтобы линии совпадали с пиксельной сеткой. Для векторного вывода это может быть нежелательно; тогда задайте другое значение, например ноль. ≥ 5.8 |
| zindex | Number | Целочисленный порядок слоя группы оси относительно других осей, примитивов и легенд. При 0 оси и сетка рисуются позади примитивов того же уровня спецификации; при большем значении, например 1, — поверх них. ≥ 5.11 |
Доступность осей
Свойства доступности задают атрибуты ARIA при выводе SVG через Vega.
| Свойство | Тип | Описание |
|---|---|---|
| aria | Boolean | Добавлять ли атрибуты ARIA (только для SVG; по умолчанию true). При false группа SVG получает aria-hidden, и ось исключается из дерева доступности. ≥ 5.11 |
| description | String | Текстовое описание оси для ARIA (только SVG). При aria = true оно записывается в aria-label. Если описание не задано, оно создаётся автоматически. ≥ 5.11 |
Пример
Пример задаёт светло-серый цвет подписей всех осей и поворачивает подписи нижней оси.
{
"axis": {
"labelColor": "#ccc"
},
"axisBottom": {
"labelAngle": -90
}
}
Свойства легенд
Свойства задают настройки легенд по умолчанию. Они указываются в свойстве "legend" объекта конфигурации.
| Свойство | Тип | Описание |
|---|---|---|
| clipHeight | Number | Высота в пикселях, по которой обрезаются элементы символьной легенды, чтобы ограничить их размер. |
| columns | Number | Число столбцов для размещения элементов символьной легенды. Значение 0 или меньше задаёт одну строку с отдельным столбцом для каждого элемента. |
| columnPadding | Number | Горизонтальный промежуток между элементами символьной легенды в пикселях. |
| cornerRadius | Number | Радиус скругления углов всей легенды. |
| fillColor | Color | Цвет фона всей легенды. |
| gradientDirection | String | Направление градиентной легенды по умолчанию: "horizontal" или "vertical". |
| gradientLength | Number | Длина основной оси цветового градиента в пикселях: высота вертикального или ширина горизонтального градиента. |
| gradientThickness | Number | Толщина цветового градиента в пикселях: ширина вертикального или высота горизонтального градиента. |
| gradientWidth | Number | Устаревшее свойство; используйте gradientLength. Применяется, если gradientLength не задано. |
| gradientHeight | Number | Устаревшее свойство; используйте gradientThickness. Применяется, если gradientThickness не задано. |
| gradientStrokeColor | Color | Цвет обводки границ цветового градиента. |
| gradientStrokeWidth | Number | Толщина обводки границ цветового градиента. |
| gradientLabelLimit | Number | Максимальная длина подписей цветового градиента в пикселях. |
| gradientLabelOffset | Number | Вертикальное смещение подписей цветового градиента в пикселях. |
| gradientOpacity | Number | Непрозрачность цветового градиента. ≥ 4.1 |
| gridAlign | String | Выравнивание строк и столбцов символьной легенды. Допустимы all, each (по умолчанию) и none. Подробнее см. документацию по размещению в сетке. |
| labelAlign | String | Горизонтальное выравнивание текста подписей легенды. |
| labelBaseline | String | Вертикальная базовая линия подписей легенды. |
| labelColor | Color | Цвет текста подписей легенды. |
| labelFont | String | Название шрифта подписей легенды. |
| labelFontSize | Number | Размер шрифта подписей легенды в пикселях. |
| labelFontStyle | String | Начертание шрифта подписей легенды, например normal или italic. ≥ 5.0 |
| labelFontWeight | String | Number | Насыщенность шрифта подписей легенды. |
| labelLimit | Number | Максимальная длина подписей легенды в пикселях. |
| labelOffset | Number | Горизонтальный промежуток между символами и подписями легенды в пикселях. |
| labelOpacity | Number | Непрозрачность подписей легенды. ≥ 4.1 |
| labelOverlap | Boolean | String | Способ устранения наложения подписей в градиентной легенде. При false наложения не устраняются. При true (по умолчанию) или "parity" удаляется каждая вторая подпись. При "greedy" подписи проверяются по порядку и удаляются те, что перекрывают последнюю видимую подпись. |
| labelSeparation | Number | Минимальный промежуток между ограничивающими прямоугольниками подписей, при котором они считаются непересекающимися (по умолчанию 0). Игнорируется, если не включено устранение наложений через labelOverlap. ≥ 5.0 |
| layout | Размещение | Объект с параметрами размещения группы легенд с одинаковым значением orient. ≥ 5.0 |
| legendX | Number | Координата x группы легенды в пикселях. Применяется только при orient = "none". ≥ 5.4 |
| legendY | Number | Координата y группы легенды в пикселях. Применяется только при orient = "none". ≥ 5.4 |
| offset | Number | Отступ легенды от области диаграммы в пикселях. Если задан, переопределяет значения из настроек размещения легенд. |
| orient | String | Ориентация легенды по умолчанию, например "right" или "left". |
| padding | Number | Отступ между границей легенды и её содержимым в пикселях. |
| rowPadding | Number | Вертикальный промежуток между элементами символьной легенды в пикселях. |
| strokeColor | Color | Цвет обводки границы всей легенды. |
| strokeDash | Number[ ] | Штриховой узор обводки границы всей легенды. |
| strokeWidth | Number | Толщина обводки границы всей легенды. |
| symbolBaseFillColor | Color | Цвет заливки символов легенды по умолчанию. Применяется, только если для легенды нет кодирования цвета через шкалу "fill". |
| symbolBaseStrokeColor | Color | Цвет обводки символов легенды по умолчанию. Применяется, только если для легенды нет кодирования цвета через шкалу "fill". |
| symbolDash | Number[ ] | Штриховой узор обводки символов (для сплошной линии — []). ≥ 5.0 |
| symbolDashOffset | Number | Смещение начала штрихового узора символа в пикселях. ≥ 5.0 |
| symbolDirection | String | Направление символьной легенды по умолчанию: "horizontal" или "vertical". |
| symbolFillColor | Color | Цвет заливки символов легенды. |
| symbolLimit | Number | Максимальное число элементов символьной легенды. При превышении лимита лишние элементы заменяются многоточием. ≥ 5.7 |
| symbolOffset | Number | Горизонтальное смещение символов легенды в пикселях. |
| symbolOpacity | Number | Непрозрачность символов легенды. ≥ 4.1 |
| symbolSize | Number | Площадь символа по умолчанию (в пикселях2). |
| symbolStrokeColor | Color | Цвет обводки символов легенды. |
| symbolStrokeWidth | Number | Толщина обводки символов легенды по умолчанию. |
| symbolType | String | Тип фигуры символов легенды по умолчанию, например "circle". |
| tickCount | Number | String | Object | Желаемое число отметок на количественной легенде. Для шкал time и utc можно указать временной интервал: "millisecond", "second", "minute", "hour", "day", "week", "month" или "year". Можно также задать интервал объектом {"interval": "month", "step": 3} с числом шагов: в этом примере отметки появляются на границах кварталов (январь, апрель, июль, октябрь). ≥ 5.7 |
| titleAlign | String | Горизонтальное выравнивание заголовков легенд: "left", "center" или "right". Если задано, переопределяет автоматическое выравнивание по titleOrient и titleAnchor. |
| titleAnchor | String | Точка привязки заголовка легенды: "start", "middle", "end" или null (по умолчанию, для автоматического выбора). Например, при titleOrient = "top" они соответствуют выравниванию заголовка по левому краю, центру или правому краю содержимого легенды. ≥ 5.0 |
| titleBaseline | String | Вертикальная базовая линия заголовков легенд. Если задана, переопределяет автоматический выбор по titleOrient и titleAnchor. |
| titleColor | Color | Цвет текста заголовков легенд. |
| titleFont | String | Название шрифта заголовков легенд. |
| titleFontSize | Number | Размер шрифта заголовков легенд в пикселях. |
| titleFontStyle | String | Начертание шрифта заголовков легенд, например normal или italic. ≥ 5.0 |
| titleFontWeight | String | Number | Насыщенность шрифта заголовков легенд. |
| titleLimit | Number | Максимальная длина заголовков легенд в пикселях. |
| titleLineHeight | Number | Высота строки многострочного заголовка в пикселях. ≥ 5.7 |
| titleOpacity | Number | Непрозрачность заголовков легенд. ≥ 4.1 |
| titleOrient | String | Расположение заголовка относительно содержимого легенды: "top" (по умолчанию), "left", "bottom" или "right". ≥ 5.0 |
| titlePadding | Number | Отступ между заголовком и элементами легенды в пикселях. |
| zindex | Number | Целочисленный z-индекс, определяющий порядок наложения группы легенды относительно групп осей, графических элементов и других легенд. ≥ 5.11 |
Свойства доступности легенд
Свойства доступности задают атрибуты ARIA (Accessible Rich Internet Applications) при выводе SVG средствами Vega.
| Свойство | Тип | Описание |
|---|---|---|
| aria | Boolean | Логический признак включения атрибутов ARIA (по умолчанию true; только для SVG). При false группе SVG назначается атрибут aria-hidden, исключающий легенду из дерева доступности ARIA. ≥ 5.11 |
| description | String | Текстовое описание легенды для ARIA (только для SVG). Если aria равно true, описание записывается в атрибут aria-label. Если оно не задано, то создаётся автоматически. ≥ 5.11 |
Свойства размещения легенд ≥ 5.0
Легенды с одинаковым значением orient размещаются вместе: последовательно по вертикали или горизонтали. Свойство layout настраивает их расположение в представлении Vega. В объекте layout можно задать общие свойства для всех легенд и отдельные наборы свойств для конкретных значений orient.
| Свойство | Тип | Описание |
|---|---|---|
| anchor | String | Точка привязки легенд относительно ближайшей оси: "start" (по умолчанию), "middle" или "end". Например, при orient = "top" они привязывают легенды соответственно к левому краю, центру или правому краю области диаграммы. Применяется только при orient = "left", "right", "top" или "bottom". |
| bounds | String | Способ расчёта границ легенд: "flush" (по умолчанию, только по ширине и высоте) или "full" (по полному ограничивающему прямоугольнику, включая, например, толщину обводки). |
| center | Boolean | Размещать ли легенды по центру выделенной области (по умолчанию false). Например, при вертикальном размещении по умолчанию легенды выровнены по левому краю; при true более узкие легенды центрируются относительно общей ширины. |
| direction | String | Направление последовательного размещения легенд: "horizontal" или "vertical". |
| frame | String | Система отсчёта для точки привязки: "group" (по умолчанию, относительно ширины или высоты группы) либо "bounds" (относительно границ диаграммы с осями, без самих легенд и выходящих за границы графических элементов). Применяется только при orient = "left", "right", "top" или "bottom". |
| margin | Number | Промежуток в пикселях между соседними легендами с одинаковым значением orient. |
| offset | Number | Отступ легенды от области диаграммы в пикселях. |
Помимо общих свойств, layout может содержать вложенные объекты с теми же свойствами для каждого допустимого значения orient легенды, кроме "none": "left", "right", "top", "bottom", "top-left", "top-right", "bottom-left", "bottom-right".
Примечание: в конфигурации по умолчанию уже заданы параметры размещения для направлений "left" и "right". Общие свойства верхнего уровня не переопределяют эти более точные настройки. Чтобы изменить размещение таких легенд, задайте вложенный объект для соответствующего направления.
Примеры
В этом примере каждая легенда получает внутренний отступ 10 пикселей и светло-серую границу:
{
"legend": {
"padding": 10,
"strokeColor": "#ccc",
"strokeWidth": 1
}
}
В этом примере легенды с orient = "bottom" располагаются вертикально с промежутком 2 пикселя, привязываются по горизонтали к центру области диаграммы и центрируются внутри выделенной им области:
{
"legend": {
"layout": {
"bottom": {
"anchor": "middle",
"direction": "vertical",
"center": true,
"margin": 2
}
}
}
}
Свойства заголовка
Свойства задают настройки заголовков по умолчанию. Они указываются в свойстве "title" объекта конфигурации.
| Свойство | Тип | Описание |
|---|---|---|
| align | String | Горизонтальное выравнивание заголовка и подзаголовка. Если задано, переопределяет автоматическое выравнивание по anchor. |
| anchor | String | Точка привязки заголовка и подзаголовка: "start", "middle" или "end". |
| angle | Number | Угол поворота текста заголовка и подзаголовка в градусах. |
| baseline | String | Вертикальная базовая линия заголовка и подзаголовка. |
| color | Color | Цвет текста заголовка. |
| dx | Number | Горизонтальное смещение координаты x заголовка и подзаголовка. ≥ 5.2 |
| dy | Number | Вертикальное смещение координаты y заголовка и подзаголовка. ≥ 5.2 |
| font | String | Название шрифта заголовка. |
| fontSize | Number | Размер шрифта заголовка в пикселях. |
| fontStyle | String | Начертание шрифта заголовка, например normal или italic. ≥ 5.0 |
| fontWeight | String | Number | Насыщенность шрифта заголовка. |
| frame | String | Система отсчёта для точки привязки: "bounds" (относительно полного ограничивающего прямоугольника) или "group" (относительно ширины или высоты группы). |
| limit | Number | Максимальная длина текста заголовка и подзаголовка в пикселях. |
| lineHeight | Number | Высота строки многострочного заголовка в пикселях. ≥ 5.7 |
| offset | Number | Отступ заголовка от области диаграммы и осей в пикселях. |
| orient | String | Расположение заголовка по умолчанию: "top", "bottom", "left" или "right". |
| subtitleColor | Color | Цвет текста подзаголовка. ≥ 5.7 |
| subtitleFont | String | Название шрифта подзаголовка. ≥ 5.7 |
| subtitleFontSize | Number | Размер шрифта подзаголовка в пикселях. ≥ 5.7 |
| subtitleFontStyle | String | Начертание шрифта подзаголовка, например normal или italic. ≥ 5.7 |
| subtitleFontWeight | String | Number | Насыщенность шрифта подзаголовка. ≥ 5.7 |
| subtitleLineHeight | Number | Высота строки многострочного подзаголовка в пикселях. ≥ 5.7 |
| subtitlePadding | Number | Отступ между заголовком и подзаголовком в пикселях. ≥ 5.7 |
| zindex | Number | Целочисленный z-индекс, определяющий порядок наложения группы заголовка относительно групп осей, графических элементов и легенд. ≥ 5.11 |
Свойства доступности заголовка
Свойства доступности задают атрибуты ARIA (Accessible Rich Internet Applications) при выводе SVG средствами Vega.
| Свойство | Тип | Описание |
|---|---|---|
| aria | Boolean | Логический признак включения атрибутов ARIA (по умолчанию true; только для SVG). При false группе SVG назначается атрибут aria-hidden, исключающий заголовок из дерева доступности ARIA. ≥ 5.11 |
Пример
В этом примере для каждого заголовка задаются отступ 10 пикселей и размер шрифта 18 пикселей.
{
"title": {
"offset": 10,
"fontSize": 18
}
}
Свойства проекций
Свойства по умолчанию для картографических проекций, если они не заданы явно в исходной JSON-спецификации. Можно указать любое допустимое свойство проекции. Эти свойства помещаются в объект "projection" конфигурации. Часто так задают тип проекции по умолчанию.
Пример
В этом примере проекцией по умолчанию становится "equalEarth":
{
"projection": {
"type": "equalEarth"
}
}
Свойства диапазонов шкал
Свойства задают именованные массивы диапазонов, которые можно использовать при определении диапазона шкалы, например {"type": "ordinal", "range": "category"}. Они указываются в объекте "range" конфигурации.
Свойства со значением-объектом должны быть допустимыми определениями диапазона шкалы.
| Свойство | Тип | Описание |
|---|---|---|
| category | Схема | Color[ ] | Цветовая схема по умолчанию для категориальных данных. |
| diverging | Схема | Color[ ] | Цветовая схема по умолчанию для расходящейся количественной палитры. |
| heatmap | Схема | Color[ ] | Цветовая схема по умолчанию для количественных тепловых карт. |
| ordinal | Схема | Color[ ] | Цветовая схема по умолчанию для упорядоченных данных. |
| ramp | Схема | Color[ ] | Цветовая схема по умолчанию для последовательной количественной палитры. |
| symbol | String[ ] | Массив названий или путей символов для палитры фигур по умолчанию. |
Пример
В этом примере задаются новые цветовые палитры по умолчанию.
{
"range": {
"category": [
"#5079a5",
"#ef8e3b",
"#dd565c",
"#79b7b2",
"#5da052",
"#ecc853",
"#ad7aa1",
"#ef9ba7",
"#9b7461",
"#bab0ac"
],
"ordinal": {"scheme": "greens"},
"ramp": {"scheme": "purples"}
}
}
Определения сигналов ≥ 5.5
Файл конфигурации может содержать определения сигналов для верхнего уровня спецификации Vega. Синтаксис совпадает с обычными определениями сигналов: массив именованных объектов. Такие сигналы удобно использовать как переменные оформления — для цветов, размеров шрифта и других значений в конфигурации или самой спецификации. Сигналы, заданные непосредственно в спецификации, имеют приоритет над сигналами из конфигурации.
Пример
Чтобы менять размеры шрифта динамически, можно задать сигнал с коэффициентом масштабирования, а затем выразить через него другие параметры конфигурации:
{
"signals": [
{"name": "fontSizeScale", "value": 1}
],
"text": {
"fontSize": {"signal": "11 * fontSizeScale"}
}
}