@@ -3058,62 +3058,62 @@ axes.drawLabels = function(gd, ax, opts) {
30583058 }
30593059
30603060 ax . _adjustTickLabelsOverflow = function ( ) {
3061- if ( insideTicklabelposition ( ax ) ) {
3062- var rl = Lib . simpleMap ( ax . range , ax . r2l ) ;
3061+ if ( ! insideTicklabelposition ( ax ) ) return ;
30633062
3064- // hide inside tick labels that go outside axis end points
3065- var p0 = ax . l2p ( rl [ 0 ] ) ;
3066- var p1 = ax . l2p ( rl [ 1 ] ) ;
3063+ var rl = Lib . simpleMap ( ax . range , ax . r2l ) ;
30673064
3068- var min = Math . min ( p0 , p1 ) + ax . _offset ;
3069- var max = Math . max ( p0 , p1 ) + ax . _offset ;
3065+ // hide inside tick labels that go outside axis end points
3066+ var p0 = ax . l2p ( rl [ 0 ] ) ;
3067+ var p1 = ax . l2p ( rl [ 1 ] ) ;
30703068
3071- var side = ax . side ;
3072- var isX = ax . _id . charAt ( 0 ) === 'x' ;
3069+ var min = Math . min ( p0 , p1 ) + ax . _offset ;
3070+ var max = Math . max ( p0 , p1 ) + ax . _offset ;
30733071
3074- var visibleLabelMin = Infinity ;
3075- var visibleLabelMax = - Infinity ;
3072+ var side = ax . side ;
3073+ var isX = ax . _id . charAt ( 0 ) === 'x' ;
30763074
3077- tickLabels . each ( function ( d ) {
3078- var thisLabel = d3 . select ( this ) ;
3079- var mathjaxGroup = thisLabel . select ( '.text-math-group' ) ;
3080-
3081- if ( mathjaxGroup . empty ( ) ) {
3082- var bb = Drawing . bBox ( thisLabel . node ( ) ) ;
3083- var hide = false ;
3084- if ( isX ) {
3085- if ( bb . right > max ) hide = true ;
3086- else if ( bb . left < min ) hide = true ;
3075+ var visibleLabelMin = Infinity ;
3076+ var visibleLabelMax = - Infinity ;
3077+
3078+ tickLabels . each ( function ( d ) {
3079+ var thisLabel = d3 . select ( this ) ;
3080+ var mathjaxGroup = thisLabel . select ( '.text-math-group' ) ;
3081+
3082+ if ( mathjaxGroup . empty ( ) ) {
3083+ var bb = Drawing . bBox ( thisLabel . node ( ) ) ;
3084+ var hide = false ;
3085+ if ( isX ) {
3086+ if ( bb . right > max ) hide = true ;
3087+ else if ( bb . left < min ) hide = true ;
3088+ } else {
3089+ if ( bb . bottom > max ) hide = true ;
3090+ else if ( bb . top + ( ax . tickangle ? 0 : d . fontSize / 4 ) < min ) hide = true ;
3091+ }
3092+
3093+ var t = thisLabel . select ( 'text' ) ;
3094+ if ( hide ) {
3095+ t . style ( 'opacity' , 0 ) ; // hidden
3096+ } else {
3097+ t . style ( 'opacity' , 1 ) ; // visible
3098+
3099+ if ( side === 'bottom' || side === 'right' ) {
3100+ visibleLabelMin = Math . min ( visibleLabelMin , isX ? bb . top : bb . left ) ;
30873101 } else {
3088- if ( bb . bottom > max ) hide = true ;
3089- else if ( bb . top + ( ax . tickangle ? 0 : d . fontSize / 4 ) < min ) hide = true ;
3102+ visibleLabelMin = - Infinity ;
30903103 }
30913104
3092- var t = thisLabel . select ( 'text' ) ;
3093- if ( hide ) {
3094- t . style ( 'opacity' , 0 ) ; // hidden
3105+ if ( side === 'top' || side === 'left' ) {
3106+ visibleLabelMax = Math . max ( visibleLabelMax , isX ? bb . bottom : bb . right ) ;
30953107 } else {
3096- t . style ( 'opacity' , 1 ) ; // visible
3097-
3098- if ( side === 'bottom' || side === 'right' ) {
3099- visibleLabelMin = Math . min ( visibleLabelMin , isX ? bb . top : bb . left ) ;
3100- } else {
3101- visibleLabelMin = - Infinity ;
3102- }
3103-
3104- if ( side === 'top' || side === 'left' ) {
3105- visibleLabelMax = Math . max ( visibleLabelMax , isX ? bb . bottom : bb . right ) ;
3106- } else {
3107- visibleLabelMax = Infinity ;
3108- }
3108+ visibleLabelMax = Infinity ;
31093109 }
3110- } // TODO: hide mathjax?
3111- } ) ;
3110+ }
3111+ } // TODO: hide mathjax?
3112+ } ) ;
31123113
3113- if ( ax . _anchorAxis ) {
3114- ax . _anchorAxis . _visibleLabelMin = visibleLabelMin ;
3115- ax . _anchorAxis . _visibleLabelMax = visibleLabelMax ;
3116- }
3114+ if ( ax . _anchorAxis ) {
3115+ ax . _anchorAxis . _visibleLabelMin = visibleLabelMin ;
3116+ ax . _anchorAxis . _visibleLabelMax = visibleLabelMax ;
31173117 }
31183118 } ;
31193119
0 commit comments