Как рассчитать тики осей при равномерном распределении? - PullRequest
2 голосов
/ 23 сентября 2010

Учитывая диапазон данных по его минимальному и максимальному значению, как можно рассчитать распределение сегментов по оси?
Требования:
- Тики оси должны быть равномерно распределены (одинакового размера).
- Далее, все галочки должны отображаться в виде цифр, таких как 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 баков?

1 Ответ

1 голос
/ 23 сентября 2010

Я не уверен, но думаю, что этот код может вам помочьотметки оси не будут распределены равномерно ((initPosition + rangeLength) / bucketSize) не возвращает обычное целое число

...