@@ -556,36 +556,25 @@ proto.updateAngularAxis = function(fullLayout, polarLayout) {
556556
557557 var out = Axes . makeLabelFns ( ax , 0 ) ;
558558 var labelStandoff = out . labelStandoff ;
559- var labelShift = out . labelShift ;
560- var offset4fontsize = ( angularLayout . ticks !== 'outside' ? 0.7 : 0.5 ) ;
561- var pad = ( ax . linewidth || 1 ) / 2 ;
562559
563560 var labelXFn = function ( d ) {
564561 var rad = t2g ( d ) ;
565-
566- var offset4tx = signSin ( rad ) === 0 ?
567- 0 :
568- Math . cos ( rad ) * ( labelStandoff + pad + offset4fontsize * d . fontSize ) ;
569- var offset4tick = signCos ( rad ) * ( d . dx + labelStandoff + pad ) ;
570-
571- return offset4tx + offset4tick ;
562+ return Math . cos ( rad ) * labelStandoff ;
572563 } ;
573564
574565 var labelYFn = function ( d ) {
575566 var rad = t2g ( d ) ;
576-
577- var offset4tx = d . dy + d . fontSize * MID_SHIFT - labelShift ;
578- var offset4tick = - Math . sin ( rad ) * ( labelStandoff + pad + offset4fontsize * d . fontSize ) ;
579-
580- return offset4tx + offset4tick ;
567+ var ff = Math . sin ( rad ) > 0 ? 0.2 : 1 ;
568+ return - Math . sin ( rad ) * ( labelStandoff + d . fontSize * ff ) +
569+ Math . abs ( Math . cos ( rad ) ) * ( d . fontSize * MID_SHIFT ) ;
581570 } ;
582571
583- // TODO maybe switch angle, d ordering ??
584572 var labelAnchorFn = function ( angle , d ) {
585573 var rad = t2g ( d ) ;
586- return signSin ( rad ) === 0 ?
587- ( signCos ( rad ) > 0 ? 'start' : 'end' ) :
588- 'middle' ;
574+ var cos = Math . cos ( rad ) ;
575+ return Math . abs ( cos ) < 0.1 ?
576+ 'middle' :
577+ ( cos > 0 ? 'start' : 'end' ) ;
589578 } ;
590579
591580 var newTickLayout = strTickLayout ( angularLayout ) ;
@@ -623,6 +612,7 @@ proto.updateAngularAxis = function(fullLayout, polarLayout) {
623612
624613 if ( ax . visible ) {
625614 var tickSign = ax . ticks === 'inside' ? - 1 : 1 ;
615+ var pad = ( ax . linewidth || 1 ) / 2 ;
626616
627617 Axes . drawTicks ( gd , ax , {
628618 vals : vals ,
@@ -1413,18 +1403,3 @@ function strTranslate(x, y) {
14131403function strRotate ( angle ) {
14141404 return 'rotate(' + angle + ')' ;
14151405}
1416-
1417- // because Math.sign(Math.cos(Math.PI / 2)) === 1
1418- // oh javascript ;)
1419- function sign ( v ) {
1420- return Math . abs ( v ) < 1e-10 ? 0 :
1421- v > 0 ? 1 : - 1 ;
1422- }
1423-
1424- function signCos ( v ) {
1425- return sign ( Math . cos ( v ) ) ;
1426- }
1427-
1428- function signSin ( v ) {
1429- return sign ( Math . sin ( v ) ) ;
1430- }
0 commit comments