Skip to content

Commit 21f5307

Browse files
committed
fix dependent scales
1 parent dbca51c commit 21f5307

File tree

5 files changed

+81
-57
lines changed

5 files changed

+81
-57
lines changed

dist/uPlot.cjs.js

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2996,6 +2996,22 @@ function uPlot(opts, data, then) {
29962996

29972997
const drawOrder = (opts.drawOrder || ["axes", "series"]).map(key => drawOrderMap[key]);
29982998

2999+
function initValToPct(sc) {
3000+
const getVal = (
3001+
sc.distr == 3 ? val => log10(val > 0 ? val : sc.clamp(self, val, sc.min, sc.max, sc.key)) :
3002+
sc.distr == 4 ? val => asinh(val, sc.asinh) :
3003+
sc.distr == 100 ? val => sc.fwd(val) :
3004+
val => val
3005+
);
3006+
3007+
return val => {
3008+
let _val = getVal(val);
3009+
let { _min, _max } = sc;
3010+
let delta = _max - _min;
3011+
return (_val - _min) / delta;
3012+
};
3013+
}
3014+
29993015
function initScale(scaleKey) {
30003016
let sc = scales[scaleKey];
30013017

@@ -3006,7 +3022,9 @@ function uPlot(opts, data, then) {
30063022
// ensure parent is initialized
30073023
initScale(scaleOpts.from);
30083024
// dependent scales inherit
3009-
scales[scaleKey] = assign({}, scales[scaleOpts.from], scaleOpts, {key: scaleKey});
3025+
let sc = assign({}, scales[scaleOpts.from], scaleOpts, {key: scaleKey});
3026+
sc.valToPct = initValToPct(sc);
3027+
scales[scaleKey] = sc;
30103028
}
30113029
else {
30123030
sc = scales[scaleKey] = assign({}, (scaleKey == xScaleKey ? xScaleOpts : yScaleOpts), scaleOpts);
@@ -3056,19 +3074,7 @@ function uPlot(opts, data, then) {
30563074
// caches for expensive ops like asinh() & log()
30573075
sc._min = sc._max = null;
30583076

3059-
const getVal = (
3060-
sc.distr == 3 ? val => log10(val > 0 ? val : sc.clamp(self, val, sc.min, sc.max, sc.key)) :
3061-
sc.distr == 4 ? val => asinh(val, sc.asinh) :
3062-
sc.distr == 100 ? val => sc.fwd(val) :
3063-
val => val
3064-
);
3065-
3066-
sc.valToPct = val => {
3067-
let _val = getVal(val);
3068-
let { _min, _max } = sc;
3069-
let delta = _max - _min;
3070-
return (_val - _min) / delta;
3071-
};
3077+
sc.valToPct = initValToPct(sc);
30723078
}
30733079
}
30743080
}

dist/uPlot.esm.js

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2994,6 +2994,22 @@ function uPlot(opts, data, then) {
29942994

29952995
const drawOrder = (opts.drawOrder || ["axes", "series"]).map(key => drawOrderMap[key]);
29962996

2997+
function initValToPct(sc) {
2998+
const getVal = (
2999+
sc.distr == 3 ? val => log10(val > 0 ? val : sc.clamp(self, val, sc.min, sc.max, sc.key)) :
3000+
sc.distr == 4 ? val => asinh(val, sc.asinh) :
3001+
sc.distr == 100 ? val => sc.fwd(val) :
3002+
val => val
3003+
);
3004+
3005+
return val => {
3006+
let _val = getVal(val);
3007+
let { _min, _max } = sc;
3008+
let delta = _max - _min;
3009+
return (_val - _min) / delta;
3010+
};
3011+
}
3012+
29973013
function initScale(scaleKey) {
29983014
let sc = scales[scaleKey];
29993015

@@ -3004,7 +3020,9 @@ function uPlot(opts, data, then) {
30043020
// ensure parent is initialized
30053021
initScale(scaleOpts.from);
30063022
// dependent scales inherit
3007-
scales[scaleKey] = assign({}, scales[scaleOpts.from], scaleOpts, {key: scaleKey});
3023+
let sc = assign({}, scales[scaleOpts.from], scaleOpts, {key: scaleKey});
3024+
sc.valToPct = initValToPct(sc);
3025+
scales[scaleKey] = sc;
30083026
}
30093027
else {
30103028
sc = scales[scaleKey] = assign({}, (scaleKey == xScaleKey ? xScaleOpts : yScaleOpts), scaleOpts);
@@ -3054,19 +3072,7 @@ function uPlot(opts, data, then) {
30543072
// caches for expensive ops like asinh() & log()
30553073
sc._min = sc._max = null;
30563074

3057-
const getVal = (
3058-
sc.distr == 3 ? val => log10(val > 0 ? val : sc.clamp(self, val, sc.min, sc.max, sc.key)) :
3059-
sc.distr == 4 ? val => asinh(val, sc.asinh) :
3060-
sc.distr == 100 ? val => sc.fwd(val) :
3061-
val => val
3062-
);
3063-
3064-
sc.valToPct = val => {
3065-
let _val = getVal(val);
3066-
let { _min, _max } = sc;
3067-
let delta = _max - _min;
3068-
return (_val - _min) / delta;
3069-
};
3075+
sc.valToPct = initValToPct(sc);
30703076
}
30713077
}
30723078
}

dist/uPlot.iife.js

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2997,6 +2997,22 @@ var uPlot = (function () {
29972997

29982998
const drawOrder = (opts.drawOrder || ["axes", "series"]).map(key => drawOrderMap[key]);
29992999

3000+
function initValToPct(sc) {
3001+
const getVal = (
3002+
sc.distr == 3 ? val => log10(val > 0 ? val : sc.clamp(self, val, sc.min, sc.max, sc.key)) :
3003+
sc.distr == 4 ? val => asinh(val, sc.asinh) :
3004+
sc.distr == 100 ? val => sc.fwd(val) :
3005+
val => val
3006+
);
3007+
3008+
return val => {
3009+
let _val = getVal(val);
3010+
let { _min, _max } = sc;
3011+
let delta = _max - _min;
3012+
return (_val - _min) / delta;
3013+
};
3014+
}
3015+
30003016
function initScale(scaleKey) {
30013017
let sc = scales[scaleKey];
30023018

@@ -3007,7 +3023,9 @@ var uPlot = (function () {
30073023
// ensure parent is initialized
30083024
initScale(scaleOpts.from);
30093025
// dependent scales inherit
3010-
scales[scaleKey] = assign({}, scales[scaleOpts.from], scaleOpts, {key: scaleKey});
3026+
let sc = assign({}, scales[scaleOpts.from], scaleOpts, {key: scaleKey});
3027+
sc.valToPct = initValToPct(sc);
3028+
scales[scaleKey] = sc;
30113029
}
30123030
else {
30133031
sc = scales[scaleKey] = assign({}, (scaleKey == xScaleKey ? xScaleOpts : yScaleOpts), scaleOpts);
@@ -3057,19 +3075,7 @@ var uPlot = (function () {
30573075
// caches for expensive ops like asinh() & log()
30583076
sc._min = sc._max = null;
30593077

3060-
const getVal = (
3061-
sc.distr == 3 ? val => log10(val > 0 ? val : sc.clamp(self, val, sc.min, sc.max, sc.key)) :
3062-
sc.distr == 4 ? val => asinh(val, sc.asinh) :
3063-
sc.distr == 100 ? val => sc.fwd(val) :
3064-
val => val
3065-
);
3066-
3067-
sc.valToPct = val => {
3068-
let _val = getVal(val);
3069-
let { _min, _max } = sc;
3070-
let delta = _max - _min;
3071-
return (_val - _min) / delta;
3072-
};
3078+
sc.valToPct = initValToPct(sc);
30733079
}
30743080
}
30753081
}

dist/uPlot.iife.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/uPlot.js

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,22 @@ export default function uPlot(opts, data, then) {
377377

378378
const drawOrder = (opts.drawOrder || ["axes", "series"]).map(key => drawOrderMap[key]);
379379

380+
function initValToPct(sc) {
381+
const getVal = (
382+
sc.distr == 3 ? val => log10(val > 0 ? val : sc.clamp(self, val, sc.min, sc.max, sc.key)) :
383+
sc.distr == 4 ? val => asinh(val, sc.asinh) :
384+
sc.distr == 100 ? val => sc.fwd(val) :
385+
val => val
386+
);
387+
388+
return val => {
389+
let _val = getVal(val);
390+
let { _min, _max } = sc;
391+
let delta = _max - _min;
392+
return (_val - _min) / delta;
393+
};
394+
}
395+
380396
function initScale(scaleKey) {
381397
let sc = scales[scaleKey];
382398

@@ -387,7 +403,9 @@ export default function uPlot(opts, data, then) {
387403
// ensure parent is initialized
388404
initScale(scaleOpts.from);
389405
// dependent scales inherit
390-
scales[scaleKey] = assign({}, scales[scaleOpts.from], scaleOpts, {key: scaleKey});
406+
let sc = assign({}, scales[scaleOpts.from], scaleOpts, {key: scaleKey});
407+
sc.valToPct = initValToPct(sc);
408+
scales[scaleKey] = sc;
391409
}
392410
else {
393411
sc = scales[scaleKey] = assign({}, (scaleKey == xScaleKey ? xScaleOpts : yScaleOpts), scaleOpts);
@@ -437,19 +455,7 @@ export default function uPlot(opts, data, then) {
437455
// caches for expensive ops like asinh() & log()
438456
sc._min = sc._max = null;
439457

440-
const getVal = (
441-
sc.distr == 3 ? val => log10(val > 0 ? val : sc.clamp(self, val, sc.min, sc.max, sc.key)) :
442-
sc.distr == 4 ? val => asinh(val, sc.asinh) :
443-
sc.distr == 100 ? val => sc.fwd(val) :
444-
val => val
445-
);
446-
447-
sc.valToPct = val => {
448-
let _val = getVal(val);
449-
let { _min, _max } = sc;
450-
let delta = _max - _min;
451-
return (_val - _min) / delta;
452-
};
458+
sc.valToPct = initValToPct(sc);
453459
}
454460
}
455461
}

0 commit comments

Comments
 (0)