@@ -478,4 +478,46 @@ describe('subplot creation / deletion:', function() {
478478 . catch ( failTest )
479479 . then ( done ) ;
480480 } ) ;
481+
482+ it ( 'clear axis ticks, labels and title when relayout an axis to `*visible:false*' , function ( done ) {
483+ function _assert ( xaxis , yaxis ) {
484+ var g = d3 . select ( '.subplot.xy' ) ;
485+ var info = d3 . select ( '.infolayer' ) ;
486+
487+ expect ( g . selectAll ( '.xtick' ) . size ( ) ) . toBe ( xaxis [ 0 ] , 'x tick cnt' ) ;
488+ expect ( g . selectAll ( '.gridlayer > .xgrid' ) . size ( ) ) . toBe ( xaxis [ 1 ] , 'x gridline cnt' ) ;
489+ expect ( info . selectAll ( '.g-xtitle' ) . size ( ) ) . toBe ( xaxis [ 2 ] , 'x title cnt' ) ;
490+
491+ expect ( g . selectAll ( '.ytick' ) . size ( ) ) . toBe ( yaxis [ 0 ] , 'y tick cnt' ) ;
492+ expect ( g . selectAll ( '.gridlayer > .ygrid' ) . size ( ) ) . toBe ( yaxis [ 1 ] , 'y gridline cnt' ) ;
493+ expect ( info . selectAll ( '.g-ytitle' ) . size ( ) ) . toBe ( yaxis [ 2 ] , 'y title cnt' ) ;
494+ }
495+
496+ Plotly . plot ( gd , [ {
497+ y : [ 1 , 2 , 1 ]
498+ } ] , {
499+ xaxis : { title : 'X' } ,
500+ yaxis : { title : 'Y' }
501+ } )
502+ . then ( function ( ) {
503+ _assert ( [ 5 , 4 , 1 ] , [ 6 , 6 , 1 ] ) ;
504+ return Plotly . relayout ( gd , 'xaxis.visible' , false ) ;
505+ } )
506+ . then ( function ( ) {
507+ _assert ( [ 0 , 0 , 0 ] , [ 6 , 6 , 1 ] ) ;
508+ return Plotly . relayout ( gd , 'yaxis.visible' , false ) ;
509+ } )
510+ . then ( function ( ) {
511+ _assert ( [ 0 , 0 , 0 ] , [ 0 , 0 , 0 ] ) ;
512+ return Plotly . relayout ( gd , {
513+ 'xaxis.visible' : true ,
514+ 'yaxis.visible' : true
515+ } ) ;
516+ } )
517+ . then ( function ( ) {
518+ _assert ( [ 5 , 4 , 1 ] , [ 6 , 6 , 1 ] ) ;
519+ } )
520+ . catch ( failTest )
521+ . then ( done ) ;
522+ } ) ;
481523} ) ;
0 commit comments