Размещение
Размещение располагает групповые примитивы в сетке, упрощая создание наборов небольших графиков и согласованных представлений из нескольких частей. Если правила размещения заданы на верхнем уровне спецификации или внутри группового примитива, все его непосредственные дочерние групповые примитивы собираются и располагаются согласно этим правилам. Движок поддерживает последовательное расположение, а также выравнивание по столбцам, строкам и сетке.
Движок также поддерживает служебные ячейки header и footer для строк и столбцов, а также отдельные ячейки заголовков title. Чтобы обозначить такие группы, в их спецификациях задайте свойство role со значением column-header, column-footer, column-title, row-header, row-footer или row-title. Число элементов каждого вида должно соответствовать числу строк или столбцов таблицы. Если элементов меньше, часть ячеек останется пустой. Если больше, лишние элементы будут проигнорированы, а в журнале появится предупреждение.
Порядок групп определяется их порядком в спецификации и внутренним порядком элементов, если одно определение группового примитива создаёт несколько экземпляров. Последовательность определений групп в спецификации задаёт их расположение. Внутри одного определения порядок экземпляров влияет и на отрисовку, и на размещение. Его можно изменить свойством sort.
Свойства размещения
Свойства, задающие размещение вложенных групповых примитивов в сетке.
| Свойство | Тип | Описание |
|---|---|---|
| align | String | Object | Выравнивание строк и столбцов сетки. Допустимые строковые значения: all, each и none (по умолчанию). При none графики размещаются последовательно друг за другом. При each элементы выстраиваются в сетку, но строки и столбцы могут иметь разный размер. При all элементы выравниваются, а все строки или столбцы получают одинаковый размер по наибольшему элементу. Строковое значение действует одновременно на строки и столбцы. Чтобы задать их отдельно, используйте объект {"row": string, "column": string}. |
| bounds | String | Способ расчёта границ отдельного графика: full (по умолчанию) или flush. При full учитывается вся рассчитанная область, включая оси, заголовок и легенду. При flush используются только заданные ширина и высота группового примитива. Режим flush полезен для равномерной сетки графиков без осей и легенд. |
| center | Boolean | Object | Логический флаг: центрировать ли элементы групп относительно их строк или столбцов. Объект {"row": boolean, "column": boolean} позволяет задать разные значения для строк и столбцов. По умолчанию центрирование отключено. |
| columns | Number | Число столбцов в сетке. Если не задано, предполагается неограниченное число столбцов, то есть одна строка. |
| padding | Number | Object | Отступы между элементами строки или столбца в пикселях. Объект {"row": number, "column": number} позволяет задать разные отступы для строк и столбцов. |
| offset | Number | Object | Смещение служебных ячеек header, footer и title в пикселях по перпендикуляру к краю сетки (по умолчанию 0). Число действует на все такие элементы. Объект позволяет задать значения отдельно с помощью свойств columnHeader, columnFooter, columnTitle, rowHeader, rowFooter и rowTitle. |
| headerBand | Number | Object | Параметр положения элемента header внутри ячейки в интервале от 0 до 1. Для столбца 0 соответствует левому краю ячейки, а 1 — правому. Число действует на ячейки header строк и столбцов. Объект {"row": number, "column": number} позволяет задать значения отдельно. По умолчанию null: положение определяется координатой x (для столбцов) или y (для строк) ближайшей ячейки содержимого. |
| footerBand | Number | Object | Параметр положения элемента footer внутри ячейки в интервале от 0 до 1. Для столбца 0 соответствует левому краю ячейки, а 1 — правому. Число действует на ячейки footer строк и столбцов. Объект {"row": number, "column": number} позволяет задать значения отдельно. По умолчанию null: положение определяется координатой x (для столбцов) или y (для строк) ближайшей ячейки содержимого. |
| titleAnchor | String | Object | Сторона сетки, на которой располагается заголовок. "start" (по умолчанию) помещает заголовки строк слева, а столбцов — сверху; "end" помещает их справа и снизу соответственно. Строковое значение действует на строки и столбцы. Объект {"row": string, "column": string} позволяет задать их отдельно. |
| titleBand | Number | Object | Параметр положения заголовка в ячейке от 0 до 1. Для столбца 0 соответствует левому краю ячейки, а 1 — правому. По умолчанию 0.5, то есть заголовок находится по центру. Число действует на заголовки строк и столбцов. Объект {"row": number, "column": number} позволяет задать значения отдельно. |