@@ -296,6 +296,8 @@ function makeSubplotData(gd) {
296
296
function makeSubplotLayer ( plotinfo ) {
297
297
var plotgroup = plotinfo . plotgroup ;
298
298
var id = plotinfo . id ;
299
+ var xLayer = constants . layerValue2layerClass [ plotinfo . xaxis . layer ] ;
300
+ var yLayer = constants . layerValue2layerClass [ plotinfo . yaxis . layer ] ;
299
301
300
302
if ( ! plotinfo . mainplot ) {
301
303
var backLayer = joinLayer ( plotgroup , 'g' , 'layer-subplot' ) ;
@@ -308,19 +310,36 @@ function makeSubplotLayer(plotinfo) {
308
310
plotinfo . zerolinelayer = joinLayer ( plotgroup , 'g' , 'zerolinelayer' ) ;
309
311
plotinfo . overzero = joinLayer ( plotgroup , 'g' , 'overzero' ) ;
310
312
313
+ joinLayer ( plotgroup , 'path' , 'xlines-below' ) ;
314
+ joinLayer ( plotgroup , 'path' , 'ylines-below' ) ;
315
+ plotinfo . overlinesBelow = joinLayer ( plotgroup , 'g' , 'overlines-below' ) ;
316
+
317
+ joinLayer ( plotgroup , 'g' , 'xaxislayer-below' ) ;
318
+ joinLayer ( plotgroup , 'g' , 'yaxislayer-below' ) ;
319
+ plotinfo . overaxesBelow = joinLayer ( plotgroup , 'g' , 'overaxes-below' ) ;
320
+
311
321
plotinfo . plot = joinLayer ( plotgroup , 'g' , 'plot' ) ;
312
322
plotinfo . overplot = joinLayer ( plotgroup , 'g' , 'overplot' ) ;
313
323
314
- plotinfo . xlines = joinLayer ( plotgroup , 'path' , 'xlines' ) ;
315
- plotinfo . ylines = joinLayer ( plotgroup , 'path' , 'ylines' ) ;
316
- plotinfo . overlines = joinLayer ( plotgroup , 'g' , 'overlines' ) ;
324
+ joinLayer ( plotgroup , 'path' , 'xlines-above' ) ;
325
+ joinLayer ( plotgroup , 'path' , 'ylines-above' ) ;
326
+ plotinfo . overlinesAbove = joinLayer ( plotgroup , 'g' , 'overlines-above' ) ;
327
+
328
+ joinLayer ( plotgroup , 'g' , 'xaxislayer-above' ) ;
329
+ joinLayer ( plotgroup , 'g' , 'yaxislayer-above' ) ;
330
+ plotinfo . overaxesAbove = joinLayer ( plotgroup , 'g' , 'overaxes-above' ) ;
317
331
318
- plotinfo . xaxislayer = joinLayer ( plotgroup , 'g' , 'xaxislayer' ) ;
319
- plotinfo . yaxislayer = joinLayer ( plotgroup , 'g' , 'yaxislayer' ) ;
320
- plotinfo . overaxes = joinLayer ( plotgroup , 'g' , 'overaxes' ) ;
332
+ // set refs to correct layers as determined by 'axis.layer'
333
+ plotinfo . xlines = plotgroup . select ( '.xlines-' + xLayer ) ;
334
+ plotinfo . ylines = plotgroup . select ( '.ylines-' + yLayer ) ;
335
+ plotinfo . xaxislayer = plotgroup . select ( '.xaxislayer-' + xLayer ) ;
336
+ plotinfo . yaxislayer = plotgroup . select ( '.yaxislayer-' + yLayer ) ;
321
337
}
322
338
else {
323
339
var mainplotinfo = plotinfo . mainplotinfo ;
340
+ var mainplotgroup = mainplotinfo . plotgroup ;
341
+ var xId = id + '-x' ;
342
+ var yId = id + '-y' ;
324
343
325
344
// now make the components of overlaid subplots
326
345
// overlays don't have backgrounds, and append all
@@ -330,17 +349,29 @@ function makeSubplotLayer(plotinfo) {
330
349
plotinfo . gridlayer = joinLayer ( mainplotinfo . overgrid , 'g' , id ) ;
331
350
plotinfo . zerolinelayer = joinLayer ( mainplotinfo . overzero , 'g' , id ) ;
332
351
352
+ joinLayer ( mainplotinfo . overlinesBelow , 'path' , xId ) ;
353
+ joinLayer ( mainplotinfo . overlinesBelow , 'path' , yId ) ;
354
+ joinLayer ( mainplotinfo . overaxesBelow , 'g' , xId ) ;
355
+ joinLayer ( mainplotinfo . overaxesBelow , 'g' , yId ) ;
356
+
333
357
plotinfo . plot = joinLayer ( mainplotinfo . overplot , 'g' , id ) ;
334
- plotinfo . xlines = joinLayer ( mainplotinfo . overlines , 'path' , id + '-x' ) ;
335
- plotinfo . ylines = joinLayer ( mainplotinfo . overlines , 'path' , id + '-y' ) ;
336
- plotinfo . xaxislayer = joinLayer ( mainplotinfo . overaxes , 'g' , id + '-x' ) ;
337
- plotinfo . yaxislayer = joinLayer ( mainplotinfo . overaxes , 'g' , id + '-y' ) ;
358
+
359
+ joinLayer ( mainplotinfo . overlinesAbove , 'path' , xId ) ;
360
+ joinLayer ( mainplotinfo . overlinesAbove , 'path' , yId ) ;
361
+ joinLayer ( mainplotinfo . overaxesAbove , 'g' , xId ) ;
362
+ joinLayer ( mainplotinfo . overaxesAbove , 'g' , yId ) ;
363
+
364
+ // set refs to correct layers as determined by 'abovetraces'
365
+ plotinfo . xlines = mainplotgroup . select ( '.overlines-' + xLayer ) . select ( '.' + xId ) ;
366
+ plotinfo . ylines = mainplotgroup . select ( '.overlines-' + yLayer ) . select ( '.' + yId ) ;
367
+ plotinfo . xaxislayer = mainplotgroup . select ( '.overaxes-' + xLayer ) . select ( '.' + xId ) ;
368
+ plotinfo . yaxislayer = mainplotgroup . select ( '.overaxes-' + yLayer ) . select ( '.' + yId ) ;
338
369
}
339
370
340
371
// common attributes for all subplots, overlays or not
341
372
342
- for ( var i = 0 ; i < constants . layers . length ; i ++ ) {
343
- joinLayer ( plotinfo . plot , 'g' , constants . layers [ i ] ) ;
373
+ for ( var i = 0 ; i < constants . traceLayerClasses . length ; i ++ ) {
374
+ joinLayer ( plotinfo . plot , 'g' , constants . traceLayerClasses [ i ] ) ;
344
375
}
345
376
346
377
plotinfo . xlines
0 commit comments