Повторение представления
Оператор repeat создаёт по представлению для каждого поля из заданного списка. Он входит в средства композиции Vega-Lite. Результат похож на панельную диаграмму, но здесь каждое представление может получать весь набор данных, а не только одну его часть.
Содержание страницы
- Оператор
repeat - Повторение по строкам, столбцам и слоям
- Примеры
- Общие и независимые шкалы
- Настройка повторения
Оператор repeat
В repeat укажите повторяемые поля, а в spec — шаблон диаграммы. Внутри шаблона ссылка {"repeat": ...} подставляет соответствующее поле:
{
"repeat": {
... // Поля повторения
},
"spec": ... // Шаблон представления
}
Помимо общих свойств спецификации представления, спецификация повторения имеет следующие свойства:
| Свойство | Тип | Описание |
|---|---|---|
repeat |
string[], RepeatMapping, LayerRepeatMapping |
Обязательное. Определение повторяемых полей. 1) Массив полей: ссылка {"repeat": "repeat"} обращается к текущему полю. Повторяемые представления размещаются в ряд с переносом; число столбцов задаёт перенос. 2) Объект, сопоставляющий "row" и/или "column" спискам полей для повторения в соответствующем направлении. Ссылки {"repeat": "row"} и {"repeat": "column"} обращаются к соответствующим повторяемым полям. Для повторения по слоям используется объект с layer, описанный ниже. |
spec |
NonNormalizedSpec, LayerSpec, UnitSpecWithFrame |
Обязательное. Спецификация повторяемого представления. При повторении по слоям допускается LayerSpec или UnitSpecWithFrame; в остальных случаях — NonNormalizedSpec. |
columns |
number |
Число столбцов в компоновке составного представления. По умолчанию: undefined — число столбцов не ограничено, все представления располагаются в один ряд. Для concat это эквивалентно hconcat, а для facet и repeat — использованию канала column. Примечания: 1) Свойство применяется только к оператору concat с переносом строк (не к hconcat/vconcat) и к операторам facet и repeat с одним определением поля или повторения, без вложенных определений row/column. 2) Значение columns: 1 эквивалентно vconcat для concat и использованию канала row для facet и repeat. |
Повторение по строкам, столбцам и слоям
Свойство repeat может быть объектом, содержащим хотя бы одно из свойств "row", "column" и "layer". Они задают списки полей для повторения по строкам, столбцам или слоям.
При повторении по слоям представления накладываются друг на друга. Даже если слоям назначены разные цвета, Vega-Lite не создаёт легенду и не укладывает такие примитивы, как столбцы или области. Если нужны легенда или укладка разных полей, используйте преобразование fold, чтобы перевести данные в длинную форму, а затем задайте кодирование цветом.
| Свойство | Тип | Описание |
|---|---|---|
row |
string[] |
Массив полей для повторения по вертикали. |
column |
string[] |
Массив полей для повторения по горизонтали. |
Примеры
Повторённые линейные диаграммы
Один шаблон показывает изменения нескольких переменных:
Поле канала Y ссылается на текущий элемент массива повторения:
"y": {
"field": {"repeat": "repeat"},
...
},
Линейный график с повторёнными слоями
repeat с layer создаёт несколько линий в одном представлении. Здесь повторяемое поле также используется как постоянное значение данных для цвета:
Гистограммы с переносом строк
Матрица диаграмм рассеяния
Оператор repeat позволяет создать матрицу диаграмм рассеяния (SPLOM), в которой каждая ячейка показывает отдельную двумерную проекцию одной таблицы данных. Здесь заданы оба свойства — row и column.
См. также пример интерактивной SPLOM.
Общие и независимые шкалы
По умолчанию правила объединения для повторения предусматривают независимые шкалы и оси позиционных каналов и общие шкалы и легенды остальных каналов. В настоящее время Vega-Lite не поддерживает общие оси повторяемых представлений.
Настройка повторения
Поскольку repeat — сокращённая запись объединения, для повторяемых представлений также используется конфигурация concat.
// Спецификация представления верхнего уровня
{
...,
"config": { // Объект конфигурации
"concat": { // Конфигурация объединения
"spacing": ...,
"columns": ...,
},
...
}
}
Конфигурация повторения поддерживает следующие свойства:
| Свойство | Тип | Описание |
|---|---|---|
columns |
number |
Число столбцов в компоновке составного представления. По умолчанию: undefined — число столбцов не ограничено, все представления располагаются в один ряд. Для concat это эквивалентно hconcat, а для facet и repeat — использованию канала column. Примечания: 1) Свойство применяется только к оператору concat с переносом строк (не к hconcat/vconcat) и к операторам facet и repeat с одним определением поля или повторения, без вложенных определений row/column. 2) Значение columns: 1 эквивалентно vconcat для concat и использованию канала row для facet и repeat. |
spacing |
number |
Расстояние по умолчанию между составными представлениями, в пикселях. По умолчанию: 20. |