Преобразование bin

Преобразование bin разбивает числовые значения на дискретные интервалы. Часто его применяют для построения гистограмм.

Параметры преобразования

Свойство Тип Описание
field Field Обязательно. Поле данных, которое нужно разбить на интервалы.
extent Number[ ] Обязательно. Массив из минимального и максимального значений диапазона разбиения.
interval Boolean Выводить ли обе границы интервала (по умолчанию true). При false в результат записывается только нижняя граница. ≥ 5.8
anchor Number Значение, с которым должна совпасть граница одного из интервалов. При необходимости границы сдвигаются. По умолчанию опорой служит минимум диапазона extent.
maxbins Number Максимальное число интервалов (по умолчанию 20). Их может быть меньше, поскольку границы выбираются как удобные округлённые числа.
base Number Основание системы счисления при автоматическом выборе интервалов (по умолчанию 10).
step Number Точный шаг между границами интервалов. Если задан, параметры вроде maxbins игнорируются.
steps Number[ ] Массив допустимых значений шага.
span Number Длина диапазона для расчёта границ интервалов (по умолчанию extent[1] - extent[0]). Позволяет выбирать шаг для другой области, например увеличенного участка, сохраняя общий extent. ≥ 5.6
minstep Number Минимально допустимый шаг между границами интервалов (по умолчанию 0).
divide Number[ ] Допустимые делители шага. По умолчанию [5, 2]: при основании 10 автоматический подбор может делить шаг на 5 и/или 2.
nice Boolean При true (по умолчанию) стремится выбирать удобные для чтения границы, например кратные десяти.
signal String Имя сигнала для вычисленных параметров разбиения — объекта со свойствами start, stop и step, если оно указано.
as String[ ] Имена выходных полей для нижней и верхней границ интервала (по умолчанию ["bin0", "bin1"]).

Использование

Пример распределяет значения поля amount по пяти интервалам между 0 и 10.

{"type": "bin", "field": "amount", "extent": [0, 10], "maxbins": 5}

Для следующих входных данных:

[
  {"amount": 3.7},
  {"amount": 6.2},
  {"amount": 5.9},
  {"amount": 8}
]

преобразование bin создаёт результат:

[
  {"amount": 3.7, "bin0": 2, "bin1": 4},
  {"amount": 6.2, "bin0": 6, "bin1": 8},
  {"amount": 5.9, "bin0": 4, "bin1": 6},
  {"amount": 8, "bin0": 8, "bin1": 10}
]