9
9
10
10
'use strict' ;
11
11
12
- function calculateAxisErrors ( data , params ) {
12
+ function calculateAxisErrors ( data , params , scaleFactor ) {
13
13
if ( ! params || ! params . visible ) return null ;
14
14
15
15
function option ( name , value ) {
@@ -36,24 +36,31 @@ function calculateAxisErrors(data, params) {
36
36
var x = + data [ i ] ;
37
37
38
38
switch ( type ) {
39
- case 'percent' :
40
- h = Math . abs ( x ) * value / 100.0 ;
41
- l = Math . abs ( x ) * minusValue / 100.0 ;
42
- result [ i ] = [ - l , h ] ;
43
- break ;
44
-
45
- case 'constant' :
46
- result [ i ] = [ - minusValue , value ] ;
47
- break ;
48
-
49
- case 'sqrt' :
50
- r = Math . sqrt ( Math . abs ( x ) ) ;
51
- result [ i ] = [ - r , r ] ;
52
- break ;
53
-
54
- case 'data' :
55
- result [ i ] = [ ( + minusError [ i ] ) - x , ( + error [ i ] ) - x ] ;
56
- break ;
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 ;
57
64
}
58
65
}
59
66
@@ -67,11 +74,12 @@ function dataLength(array) {
67
74
return 0 ;
68
75
}
69
76
70
- function calculateErrors ( data ) {
77
+ function calculateErrors ( data , scaleFactor ) {
71
78
var errors = [
72
- calculateAxisErrors ( data . x , data . error_x ) ,
73
- calculateAxisErrors ( data . y , data . error_y ) ,
74
- calculateAxisErrors ( data . z , data . error_z ) ] ,
79
+ calculateAxisErrors ( data . x , data . error_x , scaleFactor [ 0 ] ) ,
80
+ calculateAxisErrors ( data . y , data . error_y , scaleFactor [ 1 ] ) ,
81
+ calculateAxisErrors ( data . z , data . error_z , scaleFactor [ 2 ] )
82
+ ] ;
75
83
76
84
var n = dataLength ( errors ) ;
77
85
if ( n === 0 ) return null ;
0 commit comments