@@ -185,6 +185,10 @@ function sizeDefaults(layoutIn, layoutOut) {
185185 var hasSubplotGrid = Array . isArray ( gridIn . subplots ) && Array . isArray ( gridIn . subplots [ 0 ] ) ;
186186 var hasXaxes = Array . isArray ( xAxes ) ;
187187 var hasYaxes = Array . isArray ( yAxes ) ;
188+ var isSplomGenerated = (
189+ hasXaxes && xAxes !== gridIn . xaxes &&
190+ hasYaxes && yAxes !== gridIn . yaxes
191+ ) ;
188192
189193 var dfltRows , dfltColumns ;
190194
@@ -217,17 +221,26 @@ function sizeDefaults(layoutIn, layoutOut) {
217221 var rowOrder = coerce ( 'roworder' ) ;
218222 var reversed = rowOrder === 'top to bottom' ;
219223
224+ var dfltGapX = hasSubplotGrid ? 0.2 : 0.1 ;
225+ var dfltGapY = hasSubplotGrid ? 0.3 : 0.1 ;
226+
227+ var dfltSideX , dfltSideY ;
228+ if ( isSplomGenerated ) {
229+ dfltSideX = 'bottom' ;
230+ dfltSideY = 'left' ;
231+ }
232+
220233 gridOut . _domains = {
221- x : fillGridPositions ( 'x' , coerce , hasSubplotGrid ? 0.2 : 0.1 , columns ) ,
222- y : fillGridPositions ( 'y' , coerce , hasSubplotGrid ? 0.3 : 0.1 , rows , reversed )
234+ x : fillGridPositions ( 'x' , coerce , dfltGapX , dfltSideX , columns ) ,
235+ y : fillGridPositions ( 'y' , coerce , dfltGapY , dfltSideY , rows , reversed )
223236 } ;
224237}
225238
226239// coerce x or y sizing attributes and return an array of domains for this direction
227- function fillGridPositions ( axLetter , coerce , dfltGap , len , reversed ) {
240+ function fillGridPositions ( axLetter , coerce , dfltGap , dfltSide , len , reversed ) {
228241 var dirGap = coerce ( axLetter + 'gap' , dfltGap ) ;
229242 var domain = coerce ( 'domain.' + axLetter ) ;
230- coerce ( axLetter + 'side' ) ;
243+ coerce ( axLetter + 'side' , dfltSide ) ;
231244
232245 var out = new Array ( len ) ;
233246 var start = domain [ 0 ] ;
0 commit comments