99
1010'use strict' ;
1111
12- function calculateAxisErrors ( data , params ) {
12+ function calculateAxisErrors ( data , params , scaleFactor ) {
1313 if ( ! params || ! params . visible ) return null ;
1414
1515 function option ( name , value ) {
@@ -36,24 +36,31 @@ function calculateAxisErrors(data, params) {
3636 var x = + data [ i ] ;
3737
3838 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 ;
5764 }
5865 }
5966
@@ -67,11 +74,12 @@ function dataLength(array) {
6774 return 0 ;
6875}
6976
70- function calculateErrors ( data ) {
77+ function calculateErrors ( data , scaleFactor ) {
7178 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+ ] ;
7583
7684 var n = dataLength ( errors ) ;
7785 if ( n === 0 ) return null ;
0 commit comments