@@ -48,6 +48,8 @@ var CAP_SHIFT = alignmentConstants.CAP_SHIFT;
48
48
var LINE_SPACING = alignmentConstants . LINE_SPACING ;
49
49
var OPPOSITE_SIDE = alignmentConstants . OPPOSITE_SIDE ;
50
50
51
+ var TEXTPAD = 3 ;
52
+
51
53
var axes = module . exports = { } ;
52
54
53
55
axes . setConvert = require ( './set_convert' ) ;
@@ -2518,21 +2520,21 @@ function getTickLabelUV(ax) {
2518
2520
if ( ! isAligned && ! isInside ) return [ 0 , 0 ] ;
2519
2521
2520
2522
var side = ax . side ;
2521
- var isX = ax . _id . charAt ( 0 ) === 'x' ;
2522
2523
2523
- var dx = ( ax . tickwidth || 0 ) / 2 ;
2524
- var dy = ( ax . linewidth || 0 ) / 2 ;
2525
- var u = isX ? dx : dy ;
2526
- var v = isX ? dy : dx ;
2524
+ var u = isAligned ? ( ax . tickwidth || 0 ) / 2 : 0 ;
2525
+ var v = ( ax . linewidth || 0 ) / 2 + TEXTPAD ;
2527
2526
2528
2527
var fontSize = ax . tickfont ? ax . tickfont . size : 12 ;
2529
- if ( isX ) {
2530
- u += 3 ; // add extra pad
2531
- } else {
2532
- v += 3 ; // add extra pad
2533
-
2534
- if ( isAligned ) {
2535
- u += fontSize * CAP_SHIFT ;
2528
+ if ( isBottom || isTop ) {
2529
+ u += fontSize * CAP_SHIFT ;
2530
+ }
2531
+ if ( isLeft || isRight ) {
2532
+ u += TEXTPAD ;
2533
+ }
2534
+ if ( isInside ) {
2535
+ if ( side === 'top' ) {
2536
+ v -= fontSize * MID_SHIFT ;
2537
+ v += TEXTPAD ;
2536
2538
}
2537
2539
}
2538
2540
@@ -3111,7 +3113,7 @@ axes.drawLabels = function(gd, ax, opts) {
3111
3113
var isBottom = has ( 'bottom' ) ;
3112
3114
var isAligned = isBottom || isLeft || isTop || isRight ;
3113
3115
var pad = ! isAligned ? 0 :
3114
- ( ax . tickwidth || 0 ) + 2 * 3 ; // extra pad
3116
+ ( ax . tickwidth || 0 ) + 2 * TEXTPAD ;
3115
3117
3116
3118
var rotate90 = ( tickSpacing < maxFontSize * 2.5 ) || ax . type === 'multicategory' ;
3117
3119
0 commit comments