Столбец

// Спецификация одиночного представления
{
  "data": ... ,
  "mark": "bar",
  "encoding": ... ,
  ...
}

Примитив bar используют для столбчатых диаграмм, диаграмм с накоплением и временных шкал с интервалами.

Содержание страницы

Свойства столбца

// Спецификация одиночного представления
{
  ...,
  "mark": {
    "type": "bar",
    ...
  },
  "encoding": ... ,
  ...
}

Помимо общих свойств примитивов, столбцу доступны:

Свойство Тип Описание
width number, ExprRef, RelativeBandSize Ширина примитива: число, задающее постоянную ширину в пикселях, или определение относительного размера полосы. Например, {band: 0.5} означает половину полосы.
height number, ExprRef, RelativeBandSize Высота примитива: число, задающее постоянную высоту в пикселях, или определение относительного размера полосы. Например, {band: 0.5} означает половину полосы.
orient Orientation Ориентация столбчатых диаграмм без укладки, штрихов, областей и линий: "horizontal" (по умолчанию) или "vertical".

• Для bar, rule и tick определяет, применяется ли размер столбца или штриха к измерению X или Y.
• Для area определяет свойство orient выходной спецификации Vega.
• Для line и trail определяет порядок сортировки точек линии, если не задано config.sortLineBy.

Для диаграмм с укладкой ориентация всегда определяется направлением укладки; явно заданное значение игнорируется.
align Align, ExprRef Горизонтальное выравнивание текста или интервальных примитивов (area, bar, image, rect, rule): "left", "right" или "center".

Примечание: ссылки на выражения для интервальных примитивов не поддерживаются.
baseline TextBaseline, ExprRef Для текста — вертикальная базовая линия: "alphabetic" (по умолчанию), "top", "middle", "bottom", "line-top", "line-bottom" или ссылка на выражение, возвращающее допустимое значение. Варианты line-top и line-bottom действуют подобно top и bottom, но рассчитываются относительно lineHeight, а не только fontSize.

Для интервальных примитивов — вертикальное выравнивание: "top", "middle" или "bottom".

Примечание: ссылки на выражения для интервальных примитивов не поддерживаются.
binSpacing number Отступ между столбцами или прямоугольниками для поля, разбитого на интервалы. Обычно используется 0 (предпочитается статистиками) или 1 (стандартное значение столбцов Vega-Lite и стиль примеров D3). Значение неотрицательное.

По умолчанию: 0 для rect; 1 для bar.
cornerRadius number, ExprRef Радиус скругления углов прямоугольников или дуг, в пикселях.

По умолчанию: 0.
cornerRadiusEnd number, ExprRef Радиус скругления углов со стороны конца столбца, соответствующего значению.
cornerRadiusTopLeft number, ExprRef Радиус скругления верхнего левого угла прямоугольника, в пикселях.

По умолчанию: 0.
cornerRadiusTopRight number, ExprRef Радиус скругления верхнего правого угла прямоугольника, в пикселях.

По умолчанию: 0.
cornerRadiusBottomRight number, ExprRef Радиус скругления нижнего правого угла прямоугольника, в пикселях.

По умолчанию: 0.
cornerRadiusBottomLeft number, ExprRef Радиус скругления нижнего левого угла прямоугольника, в пикселях.

По умолчанию: 0.

Примеры

Один столбец

Если количественное поле сопоставлено только с x или только с y, получится диаграмма из одного столбца:

Обычная столбчатая диаграмма

Дискретное поле на оси y создаёт отдельный горизонтальный столбец для каждого значения. Свойство "height": {"step": 17} регулирует высоту шага дискретной шкалы:

Временная ось

Обычно один канал столбца дискретный, а другой непрерывный. Возможны и два непрерывных канала. Здесь временное поле на оси x использует непрерывную шкалу, а ширина столбца определяется настройкой continuousBandSize:

Относительная ширина столбца

Ширину можно задать как долю доступного временного интервала. Здесь каждый столбец занимает 70 % своей полосы:

Дискретная временная ось

Чтобы получить дискретную шкалу, укажите для временного поля тип "ordinal". Этот приём удобен для единиц времени с небольшим числом значений, например месяцев:

Скруглённые углы

Различные свойства радиуса позволяют настроить скругление углов столбца. Например, cornerRadiusEnd скругляет углы на конце каждого столбца:

Отрицательные значения

При наличии отрицательных чисел нулевую линию можно показать условным цветом сетки, скрыв при этом линию области значений оси:

Гистограмма

Если исходные данные содержат по одной записи на наблюдение, разбейте количественное поле на интервалы для x и сопоставьте агрегат count с y:

Для гистограммы без промежутков между столбцами задайте свойство binSpacing равным 0:

Столбцы с накоплением

Поле в канале color по умолчанию разделяет каждый столбец на цветные сегменты и укладывает их друг на друга. В этом примере дополнительно настроена цветовая шкала:

Наложенные столбцы

Чтобы отключить укладку, установите stack равным null. Получится диаграмма с наложенными столбцами. Сделайте их полупрозрачными, задав opacity от 0 до 1, например 0.7, чтобы наложение было заметно:

Нормированные столбцы с накоплением

Нормированную диаграмму с укладкой можно создать, задав stack равным "normalize". Здесь хорошо видны доли мужчин и женщин для разных возрастов:

Группировка со смещением

Смещения каналов позволяют разместить столбцы разных групп рядом:

Группировка с панелями

Другой вариант — разбить диаграмму на панели:

При этом каждой панели можно задать независимую шкалу x:

Несколько показателей через повторение

Оператор повторения создаёт отдельную столбчатую диаграмму для каждого показателя:

Столбцы между границами

Канал x2 или y2 задаёт вторую границу количественного измерения. Такой столбец охватывает интервал, что удобно для диаграммы Ганта:

Настройка столбцов

// Спецификация представления верхнего уровня
{
  ...,
  "config": {
    "bar": ...,
    ...
  }
}

Свойство bar объекта config верхнего уровня задаёт стандартные свойства всех столбцов. Каналы свойств примитива переопределяют эти значения.

Помимо стандартных свойств столбцов, конфигурация поддерживает дополнительные параметры:

Свойство Тип Описание
continuousBandSize number Размер столбцов или прямоугольников на непрерывных шкалах по умолчанию, неотрицательный.

По умолчанию: 5.
discreteBandSize number, RelativeBandSize Размер столбцов или прямоугольников с дискретным измерением по умолчанию, неотрицательный. Если не задан, используется step - 2, оставляющий промежуток в 2 пикселя.
minBandSize number, ExprRef Минимальная ширина полосы столбцов и прямоугольников.

По умолчанию: 0.25.