@@ -1293,10 +1293,7 @@ function arrayTicks(ax, majorOnly) {
1293
1293
for ( var i = 0 ; i < vals . length ; i ++ ) {
1294
1294
var vali = tickVal2l ( vals [ i ] ) ;
1295
1295
if ( vali > tickMin && vali < tickMax ) {
1296
- var obj = text [ i ] === undefined ?
1297
- axes . tickText ( ax , vali ) :
1298
- tickTextObj ( ax , vali , String ( text [ i ] ) ) ;
1299
-
1296
+ var obj = axes . tickText ( ax , vali , false , String ( text [ i ] ) ) ;
1300
1297
if ( isMinor ) {
1301
1298
obj . minor = true ;
1302
1299
obj . text = '' ;
@@ -1624,6 +1621,10 @@ axes.tickText = function(ax, x, hover, noSuffixPrefix) {
1624
1621
var tickVal2l = axType === 'category' ? ax . d2l_noadd : ax . d2l ;
1625
1622
var i ;
1626
1623
1624
+ var inbounds = function ( v ) {
1625
+ var p = ax . l2p ( v ) ;
1626
+ return p >= 0 && p <= ax . _length ? v : null ;
1627
+ } ;
1627
1628
if ( arrayMode && Lib . isArrayOrTypedArray ( ax . ticktext ) ) {
1628
1629
var rng = Lib . simpleMap ( ax . range , ax . r2l ) ;
1629
1630
var minDiff = ( Math . abs ( rng [ 1 ] - rng [ 0 ] ) - ( ax . _lBreaks || 0 ) ) / 10000 ;
@@ -1633,6 +1634,11 @@ axes.tickText = function(ax, x, hover, noSuffixPrefix) {
1633
1634
}
1634
1635
if ( i < ax . ticktext . length ) {
1635
1636
out . text = String ( ax . ticktext [ i ] ) ;
1637
+
1638
+ out . xbnd = [
1639
+ inbounds ( out . x - 0.5 ) ,
1640
+ inbounds ( out . x + ax . dtick - 0.5 )
1641
+ ] ;
1636
1642
return out ;
1637
1643
}
1638
1644
}
@@ -1674,11 +1680,6 @@ axes.tickText = function(ax, x, hover, noSuffixPrefix) {
1674
1680
// Setup ticks and grid lines boundaries
1675
1681
// at 1/2 a 'category' to the left/bottom
1676
1682
if ( ax . tickson === 'boundaries' || ax . showdividers ) {
1677
- var inbounds = function ( v ) {
1678
- var p = ax . l2p ( v ) ;
1679
- return p >= 0 && p <= ax . _length ? v : null ;
1680
- } ;
1681
-
1682
1683
out . xbnd = [
1683
1684
inbounds ( out . x - 0.5 ) ,
1684
1685
inbounds ( out . x + ax . dtick - 0.5 )
@@ -2807,7 +2808,7 @@ function getBoundaryVals(ax, vals) {
2807
2808
// boundaryVals are never used for labels;
2808
2809
// no need to worry about the other tickTextObj keys
2809
2810
var _push = function ( d , bndIndex ) {
2810
- var xb = d . xbnd ? d . xbnd [ bndIndex ] : d . x ;
2811
+ var xb = d . xbnd [ bndIndex ] ;
2811
2812
if ( xb !== null ) {
2812
2813
out . push ( Lib . extendFlat ( { } , d , { x : xb } ) ) ;
2813
2814
}
@@ -3755,7 +3756,7 @@ axes.drawLabels = function(gd, ax, opts) {
3755
3756
// TODO should secondary labels also fall into this fix-overlap regime?
3756
3757
3757
3758
for ( i = 0 ; i < lbbArray . length ; i ++ ) {
3758
- var xbnd = ( vals && vals [ i ] . xbnd ) ? vals [ i ] . xbnd : [ null , null ] ;
3759
+ var xbnd = vals [ i ] . xbnd ;
3759
3760
var lbb = lbbArray [ i ] ;
3760
3761
if (
3761
3762
( xbnd [ 0 ] !== null && ( lbb . left - ax . l2p ( xbnd [ 0 ] ) ) < gap ) ||
0 commit comments