@@ -77,18 +77,12 @@ function setGroupPositionsInOverlayMode(gd, pa, sa, traces) {
77
77
traces . forEach ( function ( trace ) {
78
78
var sieve = new Sieve (
79
79
[ trace ] , separateNegativeValues , dontMergeOverlappingData
80
- ) ,
81
- minDiff = sieve . minDiff ,
82
- distinctPositions = sieve . distinctPositions ;
80
+ ) ;
83
81
84
- // set bar offsets and widths
82
+ // set bar offsets and widths, and update position axis
85
83
setOffsetAndWidth ( gd , pa , sieve ) ;
86
84
87
- // update position axis
88
- Axes . minDtick ( pa , minDiff , distinctPositions [ 0 ] ) ;
89
- Axes . expand ( pa , distinctPositions , { vpad : minDiff / 2 } ) ;
90
-
91
- // update size axis and set bar bases and sizes
85
+ // set bar bases and sizes, and update size axis
92
86
if ( barnorm ) {
93
87
stackBars ( gd , sa , sieve ) ;
94
88
}
@@ -112,18 +106,12 @@ function setGroupPositionsInGroupMode(gd, pa, sa, traces) {
112
106
dontMergeOverlappingData = ! barnorm ,
113
107
sieve = new Sieve (
114
108
traces , separateNegativeValues , dontMergeOverlappingData
115
- ) ,
116
- minDiff = sieve . minDiff ,
117
- distinctPositions = sieve . distinctPositions ;
109
+ ) ;
118
110
119
- // set bar offsets and widths
111
+ // set bar offsets and widths, and update position axis
120
112
setOffsetAndWidthInGroupMode ( gd , pa , sieve ) ;
121
113
122
- // update position axis
123
- Axes . minDtick ( pa , minDiff , distinctPositions [ 0 ] ) ;
124
- Axes . expand ( pa , distinctPositions , { vpad : minDiff / 2 } ) ;
125
-
126
- // update size axis and set bar bases and sizes
114
+ // set bar bases and sizes, and update size axis
127
115
if ( barnorm ) {
128
116
stackBars ( gd , sa , sieve ) ;
129
117
}
@@ -151,18 +139,12 @@ function setGroupPositionsInStackOrRelativeMode(gd, pa, sa, traces) {
151
139
dontMergeOverlappingData = ! ( barnorm || stack || relative ) ,
152
140
sieve = new Sieve (
153
141
traces , separateNegativeValues , dontMergeOverlappingData
154
- ) ,
155
- minDiff = sieve . minDiff ,
156
- distinctPositions = sieve . distinctPositions ;
142
+ ) ;
157
143
158
- // set bar offsets and widths
144
+ // set bar offsets and widths, and update position axis
159
145
setOffsetAndWidth ( gd , pa , sieve ) ;
160
146
161
- // update position axis
162
- Axes . minDtick ( pa , minDiff , distinctPositions [ 0 ] ) ;
163
- Axes . expand ( pa , distinctPositions , { vpad : minDiff / 2 } ) ;
164
-
165
- // set bar bases and sizes
147
+ // set bar bases and sizes, and update size axis
166
148
stackBars ( gd , sa , sieve ) ;
167
149
}
168
150
@@ -173,6 +155,7 @@ function setOffsetAndWidth(gd, pa, sieve) {
173
155
traces = sieve . traces ,
174
156
bargap = fullLayout . bargap ,
175
157
bargroupgap = fullLayout . bargroupgap ,
158
+ distinctPositions = sieve . distinctPositions ,
176
159
minDiff = sieve . minDiff ;
177
160
178
161
// set bar offsets and widths
@@ -199,6 +182,10 @@ function setOffsetAndWidth(gd, pa, sieve) {
199
182
bar [ pLetter ] = bar . p + barCenter ;
200
183
}
201
184
}
185
+
186
+ // update position axes
187
+ Axes . minDtick ( pa , minDiff , distinctPositions [ 0 ] ) ;
188
+ Axes . expand ( pa , distinctPositions , { vpad : minDiff / 2 } ) ;
202
189
}
203
190
204
191
@@ -243,6 +230,10 @@ function setOffsetAndWidthInGroupMode(gd, pa, sieve) {
243
230
bar [ pLetter ] = bar . p + barCenter ;
244
231
}
245
232
}
233
+
234
+ // update position axes
235
+ Axes . minDtick ( pa , minDiff , distinctPositions [ 0 ] , overlap ) ;
236
+ Axes . expand ( pa , distinctPositions , { vpad : minDiff / 2 } ) ;
246
237
}
247
238
248
239
0 commit comments