1 | import { getLogPositiveMin, log } from '../util/math';
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | export default function calculateLogTicks(cfg) {
|
8 | var base = cfg.base, tickCount = cfg.tickCount, min = cfg.min, max = cfg.max, values = cfg.values;
|
9 | var minTick;
|
10 | var maxTick = log(base, max);
|
11 | if (min > 0) {
|
12 | minTick = Math.floor(log(base, min));
|
13 | }
|
14 | else {
|
15 | var positiveMin = getLogPositiveMin(values, base, max);
|
16 | minTick = Math.floor(log(base, positiveMin));
|
17 | }
|
18 | var count = maxTick - minTick;
|
19 | var avg = Math.ceil(count / tickCount);
|
20 | var ticks = [];
|
21 | for (var i = minTick; i < maxTick + avg; i = i + avg) {
|
22 | ticks.push(Math.pow(base, i));
|
23 | }
|
24 | if (min <= 0) {
|
25 |
|
26 | ticks.unshift(0);
|
27 | }
|
28 | return ticks;
|
29 | }
|
30 |
|
\ | No newline at end of file |