Графические примитивы
В разделе «Кодирование» мы рассмотрели, как метод Chart.encode сопоставляет столбцы с визуальными свойствами диаграммы. Свойство mark определяет, как именно эти свойства представлены на диаграмме.
Altair поддерживает следующие базовые примитивы:
| Примитив | Метод | Описание |
|---|---|---|
| Arc | Chart.mark_arc |
Круговая диаграмма. |
| Area | Chart.mark_area |
Диаграмма с заполненной областью. |
| Bar | Chart.mark_bar |
Столбчатая диаграмма. |
| Circle | Chart.mark_circle |
Диаграмма рассеяния с заполненными кругами. |
| Geoshape | Chart.mark_geoshape |
Визуализация пространственных данных. |
| Image | Chart.mark_image |
Диаграмма рассеяния с маркерами-изображениями. |
| Line | Chart.mark_line |
Линейная диаграмма. |
| Point | Chart.mark_point |
Диаграмма рассеяния с настраиваемой формой точек. |
| Rect | Chart.mark_rect |
Заполненный прямоугольник, используемый для тепловых карт. |
| Rule | Chart.mark_rule |
Вертикальная или горизонтальная линия на всю ось. |
| Square | Chart.mark_square |
Диаграмма рассеяния с заполненными квадратами. |
| Text | Chart.mark_text |
Диаграмма, в которой точки представлены текстом. |
| Tick | Chart.mark_tick |
Короткая вертикальная или горизонтальная черта. |
| Trail | Chart.mark_trail |
Линия с переменной толщиной. |
Кроме того, есть составные примитивы:
| Примитив | Метод | Описание | Пример |
|---|---|---|---|
| Boxplot | Chart.mark_boxplot |
Диаграмма размаха. | Диаграмма размаха |
| Errorband | Chart.mark_errorband |
Непрерывная полоса вокруг линии. | Линия с доверительным интервалом |
| Errorbar | Chart.mark_errorbar |
Интервал погрешности вокруг точки. | Интервалы погрешностей |
Удобнее всего задавать примитивы методами mark_* объекта Chart, например mark_bar. Они принимают необязательные именованные аргументы для настройки внешнего вида.
Свойства примитивов
Ниже перечислены стандартные свойства базовых примитивов. У некоторых есть дополнительные специальные свойства, описанные на их страницах.
Общие свойства
Нажмите, чтобы показать таблицу
| Свойство | Тип | Описание |
|---|---|---|
aria | anyOf(boolean, ExprRef) | Добавлять ли атрибуты ARIA для доступности; только для SVG. При |
description | anyOf(string, ExprRef) | Текстовое описание примитива для доступности ARIA; только для SVG. Если задано, определяет атрибут |
style | anyOf(string, array(string)) | Строка или массив строк с именами пользовательских стилей. Стиль — именованный набор стандартных свойств примитива из конфигурации стилей. В массиве поздние стили переопределяют ранние. Свойства, явно заданные в |
tooltip | anyOf(number, string, boolean, TooltipContent, ExprRef, null) | Строка подсказки при наведении или объект, определяющий её поля. При |
clip | anyOf(boolean, ExprRef) | Обрезать ли примитив по ширине и высоте содержащей его группы. |
invalid | anyOf(MarkInvalidDataMode, null) | Режим обработки некорректных данных:
Если для шкалы канала задан результат некорректных значений в |
order | [null, boolean] | Для line и trail значение |
Положение и смещение
Нажмите, чтобы показать таблицу
| Свойство | Тип | Описание |
|---|---|---|
x | anyOf(number, string, ExprRef) | Координата x примитива или ширина горизонтальных bar и area, если не заданы |
x2 | anyOf(number, string, ExprRef) | Вторая координата x для area, bar, rect и rule с диапазоном. Значение может быть числом или строкой |
width | anyOf(number, ExprRef, RelativeBandSize) | Ширина примитива: фиксированное число пикселей либо относительная доля полосы. Например, |
height | anyOf(number, ExprRef, RelativeBandSize) | Высота примитива: фиксированное число пикселей либо относительная доля полосы. Например, |
y | anyOf(number, string, ExprRef) | Координата y примитива или высота вертикальных bar и area, если не заданы |
y2 | anyOf(number, string, ExprRef) | Вторая координата y для area, bar, rect и rule с диапазоном. Значение может быть числом или строкой |
xOffset | anyOf(number, ExprRef) | Смещение позиции x. |
x2Offset | anyOf(number, ExprRef) | Смещение позиции x2. |
yOffset | anyOf(number, ExprRef) | Смещение позиции y. |
y2Offset | anyOf(number, ExprRef) | Смещение позиции y2. |
Цвет
Нажмите, чтобы показать таблицу
| Свойство | Тип | Описание |
|---|---|---|
filled | boolean | Использовать ли цвет примитива для заливки вместо обводки. По умолчанию: |
color | anyOf(Color, Gradient, ExprRef) | Стандартный цвет. По умолчанию: ■ |
fill | anyOf(Color, Gradient, null, ExprRef) | Стандартный цвет заливки; имеет больший приоритет, чем |
stroke | anyOf(Color, Gradient, null, ExprRef) | Стандартный цвет обводки; имеет больший приоритет, чем |
blend | anyOf(Blend, ExprRef) | Режим смешивания цвета примитива с текущим фоном. Допускается любое значение CSS |
opacity | anyOf(number, ExprRef) | Общая непрозрачность в диапазоне |
fillOpacity | anyOf(number, ExprRef) | Непрозрачность заливки в диапазоне |
strokeOpacity | anyOf(number, ExprRef) | Непрозрачность обводки в диапазоне |
Стиль обводки
Нажмите, чтобы показать таблицу
| Свойство | Тип | Описание |
|---|---|---|
strokeCap | anyOf(StrokeCap, ExprRef) | Форма концов линии: |
strokeDash | anyOf(array(number), ExprRef) | Массив чередующихся длин штриха и промежутка для пунктирных и штриховых линий. |
strokeDashOffset | anyOf(number, ExprRef) | Смещение в пикселях, с которого начинается рисунок штриховой линии. |
strokeJoin | anyOf(StrokeJoin, ExprRef) | Способ соединения сегментов обводки: |
strokeMiterLimit | anyOf(number, ExprRef) | Предел острого соединения, при превышении которого оно срезается. |
strokeWidth | anyOf(number, ExprRef) | Толщина обводки в пикселях. |
Гиперссылки
Примитив может быть гиперссылкой, если задано свойство href или соответствующий канал кодирования. При заданном href свойство cursor по умолчанию равно "pointer", чтобы обозначить возможность перехода.
Нажмите, чтобы показать таблицу
| Свойство | Тип | Описание |
|---|---|---|
href | anyOf(URI, ExprRef) | URL для перехода при щелчке мышью. При заданном значении примитив действует как гиперссылка. |
cursor | anyOf(Cursor, ExprRef) | Указатель мыши при наведении на примитив. Допускается любой тип указателя CSS. |