UNPKG

1.06 kBJavaScriptView Raw
1import { getMedian, getMean } from './stat';
2/**
3 * parse the value position
4 * @param val
5 * @param scale
6 */
7export function getNormalizedValue(val, scale) {
8 if (!scale) {
9 return null;
10 }
11 var scaled;
12 switch (val) {
13 case 'start':
14 return 0;
15 case 'center':
16 return 0.5;
17 case 'end':
18 return 1;
19 case 'median': {
20 scaled = scale.isCategory ? getMedian(scale.values.map(function (_, idx) { return idx; })) : getMedian(scale.values);
21 break;
22 }
23 case 'mean': {
24 scaled = scale.isCategory ? (scale.values.length - 1) / 2 : getMean(scale.values);
25 break;
26 }
27 case 'min':
28 scaled = scale.isCategory ? 0 : scale[val];
29 break;
30 case 'max':
31 scaled = scale.isCategory ? scale.values.length - 1 : scale[val];
32 break;
33 default:
34 scaled = val;
35 break;
36 }
37 return scale.scale(scaled);
38}
39//# sourceMappingURL=annotation.js.map
\No newline at end of file