Учитывая диапазон данных по его минимальному и максимальному значению, как можно рассчитать распределение сегментов по оси?
Требования:
- Тики оси должны быть равномерно распределены (одинакового размера).
- Далее, все галочки должны отображаться в виде цифр, таких как 10, 20, 30, ...
или -0.3, 0.1, 0.2, 0.4, ...
- При расчете принимается параметр, который определяет количество требуемых сегментов.
В следующем примере вычисляется максимум 10 сегментов или меньше.
num buckets = 10
range length = 500
500 / 10 = 50
log_10(50) = 1,69
round up(1,69) = 2
10^2 = 100 bucket size
500 / 100 = 5 buckets
Результат: есть 5 ведер размером 100.
Шаги производят только сегменты, которые основаны на 10^x
, которые 0.01, 0.1, 1, 10, 100, 1000 ...
Как можно рассчитать размер баков для ровно 42 баков?