@@ -26,44 +26,36 @@ module.exports = function calc(gd) {
26
26
27
27
if ( ! Plots . traceIs ( trace , 'errorBarsOK' ) ) continue ;
28
28
29
- var xOpts = trace . error_x || { } ,
30
- yOpts = trace . error_y || { } ,
31
- xa = Axes . getFromId ( gd , trace . xaxis ) ,
32
- ya = Axes . getFromId ( gd , trace . yaxis ) ,
33
- xVis = ( xOpts . visible && [ 'linear' , 'log' ] . indexOf ( xa . type ) !== - 1 ) ,
34
- yVis = ( yOpts . visible && [ 'linear' , 'log' ] . indexOf ( ya . type ) !== - 1 ) ;
35
-
36
- if ( ! xVis && ! yVis ) continue ;
37
-
38
- var xVals = [ ] ,
39
- yVals = [ ] ;
40
-
41
- var computeErrorY = makeComputeError ( yOpts ) ,
42
- computeErrorX = makeComputeError ( xOpts ) ;
43
-
44
- for ( var j = 0 ; j < calcTrace . length ; j ++ ) {
45
- var calcPt = calcTrace [ j ] ,
46
- calcY = calcPt . y ,
47
- calcX = calcPt . x ;
48
-
49
- if ( ! isNumeric ( ya . c2l ( calcY ) ) || ! isNumeric ( xa . c2l ( calcX ) ) ) continue ;
50
-
51
- var errorY = computeErrorY ( calcY , j ) ;
52
- if ( isNumeric ( errorY [ 0 ] ) && isNumeric ( errorY [ 1 ] ) ) {
53
- calcPt . ys = calcY - errorY [ 0 ] ;
54
- calcPt . yh = calcY + errorY [ 1 ] ;
55
- yVals . push ( calcPt . ys , calcPt . yh ) ;
56
- }
57
-
58
- var errorX = computeErrorX ( calcX , j ) ;
59
- if ( isNumeric ( errorX [ 0 ] ) && isNumeric ( errorX [ 1 ] ) ) {
60
- calcPt . xs = calcX - errorX [ 0 ] ;
61
- calcPt . xh = calcX + errorX [ 1 ] ;
62
- xVals . push ( calcPt . xs , calcPt . xh ) ;
63
- }
64
- }
29
+ var xa = Axes . getFromId ( gd , trace . xaxis ) ,
30
+ ya = Axes . getFromId ( gd , trace . yaxis ) ;
65
31
66
- Axes . expand ( ya , yVals , { padded : true } ) ;
67
- Axes . expand ( xa , xVals , { padded : true } ) ;
32
+ calcOneAxis ( calcTrace , trace , xa , 'x' ) ;
33
+ calcOneAxis ( calcTrace , trace , ya , 'y' ) ;
68
34
}
69
35
} ;
36
+
37
+ function calcOneAxis ( calcTrace , trace , axis , coord ) {
38
+ var opts = trace [ 'error_' + coord ] || { } ,
39
+ isVisible = ( opts . visible && [ 'linear' , 'log' ] . indexOf ( axis . type ) !== - 1 ) ,
40
+ vals = [ ] ;
41
+
42
+ if ( ! isVisible ) return ;
43
+
44
+ var computeError = makeComputeError ( opts ) ;
45
+
46
+ for ( var i = 0 ; i < calcTrace . length ; i ++ ) {
47
+ var calcPt = calcTrace [ i ] ,
48
+ calcCoord = calcPt [ coord ] ;
49
+
50
+ if ( ! isNumeric ( axis . c2l ( calcCoord ) ) ) continue ;
51
+
52
+ var errors = computeError ( calcCoord , i ) ;
53
+ if ( isNumeric ( errors [ 0 ] ) && isNumeric ( errors [ 1 ] ) ) {
54
+ var shoe = calcPt [ coord + 's' ] = calcCoord - errors [ 0 ] ,
55
+ hat = calcPt [ coord + 'h' ] = calcCoord + errors [ 1 ] ;
56
+ vals . push ( shoe , hat ) ;
57
+ }
58
+ }
59
+
60
+ Axes . expand ( axis , vals , { padded : true } ) ;
61
+ }
0 commit comments