|
9 | 9 |
|
10 | 10 | 'use strict';
|
11 | 11 |
|
12 |
| -function calculateAxisErrors(data, params, scaleFactor) { |
13 |
| - if(!params || !params.visible) return null; |
| 12 | +var computeError = require('../../components/errorbars/compute_error'); |
14 | 13 |
|
15 |
| - function option(name, value) { |
16 |
| - if(name in params) return params[name]; |
17 |
| - return value; |
18 |
| - } |
19 | 14 |
|
20 |
| - var result = new Array(data.length), |
21 |
| - type = option('type', 'percent'), |
22 |
| - symmetric = option('symmetric', true), |
23 |
| - value = +option('value', 10), |
24 |
| - minusValue = +option('valueminus', 10), |
25 |
| - error = option('array', null), |
26 |
| - minusError = option('arrayminus', null); |
27 |
| - |
28 |
| - if(symmetric) { |
29 |
| - minusValue = value; |
30 |
| - minusError = error; |
31 |
| - } |
| 15 | +function calculateAxisErrors(data, params, scaleFactor) { |
| 16 | + if(!params || !params.visible) return null; |
32 | 17 |
|
33 |
| - if(type === 'data' && (!error || !minusError)) return null; |
| 18 | + var result = new Array(data.length); |
34 | 19 |
|
35 | 20 | for(var i = 0; i < data.length; i++) {
|
36 |
| - var x = +data[i]; |
37 |
| - |
38 |
| - switch(type) { |
39 |
| - case 'percent': |
40 |
| - result[i] = [ |
41 |
| - -Math.abs(x) * (minusValue / 100.0) * scaleFactor, |
42 |
| - Math.abs(x) * (value / 100.0) * scaleFactor |
43 |
| - ]; |
44 |
| - break; |
45 |
| - |
46 |
| - case 'constant': |
47 |
| - result[i] = [ |
48 |
| - -minusValue * scaleFactor, |
49 |
| - value * scaleFactor |
50 |
| - ]; |
51 |
| - break; |
52 |
| - |
53 |
| - case 'sqrt': |
54 |
| - var r = Math.sqrt(Math.abs(x)) * scaleFactor; |
55 |
| - result[i] = [-r, r]; |
56 |
| - break; |
57 |
| - |
58 |
| - case 'data': |
59 |
| - result[i] = [ |
60 |
| - -(+minusError[i]) * scaleFactor, |
61 |
| - (+error[i]) * scaleFactor |
62 |
| - ]; |
63 |
| - break; |
64 |
| - } |
| 21 | + var errors = computeError(+data[i], i, params); |
| 22 | + |
| 23 | + result[i] = [ |
| 24 | + -errors[0] * scaleFactor, |
| 25 | + errors[1] * scaleFactor |
| 26 | + ]; |
65 | 27 | }
|
66 | 28 |
|
67 | 29 | return result;
|
|
0 commit comments