|
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