Преобразование 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}
]