@@ -3472,16 +3472,13 @@ axes.drawLabels = function(gd, ax, opts) {
34723472
34733473 var fullLayout = gd . _fullLayout ;
34743474 var axId = ax . _id ;
3475- var axLetter = axId . charAt ( 0 ) ;
34763475 var cls = opts . cls || axId + 'tick' ;
34773476
34783477 var vals = opts . vals . filter ( function ( d ) { return d . text ; } ) ;
34793478
34803479 var labelFns = opts . labelFns ;
34813480 var tickAngle = opts . secondary ? 0 : ax . tickangle ;
34823481
3483- var autoTickAnglesRadians = ( ax . autotickangles || [ 0 , 30 , 90 ] )
3484- . map ( function ( degrees ) { return degrees * Math . PI / 180 ; } ) ;
34853482 var prevAngle = ( ax . _prevTickAngles || { } ) [ cls ] ;
34863483
34873484 var tickLabels = opts . layer . selectAll ( 'g.' + cls )
@@ -3722,10 +3719,10 @@ axes.drawLabels = function(gd, ax, opts) {
37223719 // check for auto-angling if x labels overlap
37233720 // don't auto-angle at all for log axes with
37243721 // base and digit format
3725- if ( vals . length && axLetter === 'x' && ! isNumeric ( tickAngle ) &&
3722+ if ( vals . length && ax . autotickangles &&
37263723 ( ax . type !== 'log' || String ( ax . dtick ) . charAt ( 0 ) !== 'D' )
37273724 ) {
3728- autoangle = 0 ;
3725+ autoangle = ax . autotickangles [ 0 ] ;
37293726
37303727 var maxFontSize = 0 ;
37313728 var lbbArray = [ ] ;
@@ -3789,7 +3786,12 @@ axes.drawLabels = function(gd, ax, opts) {
37893786 var opposite = maxFontSize * 1.25 * maxLines ;
37903787 var hypotenuse = Math . sqrt ( Math . pow ( adjacent , 2 ) + Math . pow ( opposite , 2 ) ) ;
37913788 var maxCos = adjacent / hypotenuse ;
3792- var angleRadians = autoTickAnglesRadians . find ( function ( angle ) { return Math . abs ( Math . cos ( angle ) ) <= maxCos ; } ) ;
3789+ var autoTickAnglesRadians = ax . autotickangles . map (
3790+ function ( degrees ) { return degrees * Math . PI / 180 ; }
3791+ ) ;
3792+ var angleRadians = autoTickAnglesRadians . find (
3793+ function ( angle ) { return Math . abs ( Math . cos ( angle ) ) <= maxCos ; }
3794+ ) ;
37933795 if ( angleRadians === undefined ) {
37943796 // no angle with smaller cosine than maxCos, just pick the angle with smallest cosine
37953797 angleRadians = autoTickAnglesRadians . reduce (
0 commit comments