@@ -556,36 +556,25 @@ proto.updateAngularAxis = function(fullLayout, polarLayout) {
556
556
557
557
var out = Axes . makeLabelFns ( ax , 0 ) ;
558
558
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 ;
562
559
563
560
var labelXFn = function ( d ) {
564
561
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 ;
572
563
} ;
573
564
574
565
var labelYFn = function ( d ) {
575
566
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 ) ;
581
570
} ;
582
571
583
- // TODO maybe switch angle, d ordering ??
584
572
var labelAnchorFn = function ( angle , d ) {
585
573
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' ) ;
589
578
} ;
590
579
591
580
var newTickLayout = strTickLayout ( angularLayout ) ;
@@ -623,6 +612,7 @@ proto.updateAngularAxis = function(fullLayout, polarLayout) {
623
612
624
613
if ( ax . visible ) {
625
614
var tickSign = ax . ticks === 'inside' ? - 1 : 1 ;
615
+ var pad = ( ax . linewidth || 1 ) / 2 ;
626
616
627
617
Axes . drawTicks ( gd , ax , {
628
618
vals : vals ,
@@ -1413,18 +1403,3 @@ function strTranslate(x, y) {
1413
1403
function strRotate ( angle ) {
1414
1404
return 'rotate(' + angle + ')' ;
1415
1405
}
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