@@ -568,7 +568,10 @@ function makeSubplotLayer(gd, plotinfo) {
568
568
var yLayer = constants . layerValue2layerClass [ plotinfo . yaxis . layer ] ;
569
569
var hasOnlyLargeSploms = fullLayout . _hasOnlyLargeSploms ;
570
570
571
- if ( ! plotinfo . mainplot || fullLayout . _zindices . length > 1 ) {
571
+ var hasMultipleZ = fullLayout . _zindices . length > 1 ;
572
+ var mainplotinfo = plotinfo . mainplotinfo ;
573
+
574
+ if ( ! plotinfo . mainplot || hasMultipleZ ) {
572
575
if ( hasOnlyLargeSploms ) {
573
576
// TODO could do even better
574
577
// - we don't need plot (but we would have to mock it in lsInner
@@ -585,9 +588,15 @@ function makeSubplotLayer(gd, plotinfo) {
585
588
plotinfo . shapelayer = ensureSingle ( backLayer , 'g' , 'shapelayer' ) ;
586
589
plotinfo . imagelayer = ensureSingle ( backLayer , 'g' , 'imagelayer' ) ;
587
590
588
- plotinfo . minorGridlayer = ensureSingle ( plotgroup , 'g' , 'minor-gridlayer' ) ;
589
- plotinfo . gridlayer = ensureSingle ( plotgroup , 'g' , 'gridlayer' ) ;
590
- plotinfo . zerolinelayer = ensureSingle ( plotgroup , 'g' , 'zerolinelayer' ) ;
591
+ if ( mainplotinfo && hasMultipleZ ) {
592
+ plotinfo . minorGridlayer = mainplotinfo . minorGridlayer ;
593
+ plotinfo . gridlayer = mainplotinfo . gridlayer ;
594
+ plotinfo . zerolinelayer = mainplotinfo . zerolinelayer ;
595
+ } else {
596
+ plotinfo . minorGridlayer = ensureSingle ( plotgroup , 'g' , 'minor-gridlayer' ) ;
597
+ plotinfo . gridlayer = ensureSingle ( plotgroup , 'g' , 'gridlayer' ) ;
598
+ plotinfo . zerolinelayer = ensureSingle ( plotgroup , 'g' , 'zerolinelayer' ) ;
599
+ }
591
600
592
601
var betweenLayer = ensureSingle ( plotgroup , 'g' , 'layer-between' ) ;
593
602
plotinfo . shapelayerBetween = ensureSingle ( betweenLayer , 'g' , 'shapelayer' ) ;
@@ -622,7 +631,6 @@ function makeSubplotLayer(gd, plotinfo) {
622
631
}
623
632
}
624
633
} else {
625
- var mainplotinfo = plotinfo . mainplotinfo ;
626
634
var mainplotgroup = mainplotinfo . plotgroup ;
627
635
var xId = id + '-x' ;
628
636
var yId = id + '-y' ;
0 commit comments