@@ -56,6 +56,15 @@ var autorange = require('./autorange');
56
56
axes . getAutoRange = autorange . getAutoRange ;
57
57
axes . findExtremes = autorange . findExtremes ;
58
58
59
+ var epsilon = 0.0001 ;
60
+ function expandRange ( range ) {
61
+ var delta = ( range [ 1 ] - range [ 0 ] ) * epsilon ;
62
+ return [
63
+ range [ 0 ] - delta ,
64
+ range [ 1 ] + delta
65
+ ] ;
66
+ }
67
+
59
68
/*
60
69
* find the list of possible axes to reference with an xref or yref attribute
61
70
* and coerce it to that list
@@ -566,8 +575,9 @@ axes.calcTicks = function calcTicks(ax) {
566
575
ax . _tmin = axes . tickFirst ( ax ) ;
567
576
568
577
// add a tiny bit so we get ticks which may have rounded out
569
- var startTick = rng [ 0 ] * 1.0001 - rng [ 1 ] * 0.0001 ;
570
- var endTick = rng [ 1 ] * 1.0001 - rng [ 0 ] * 0.0001 ;
578
+ var exRng = expandRange ( rng ) ;
579
+ var startTick = exRng [ 0 ] ;
580
+ var endTick = exRng [ 1 ] ;
571
581
// check for reversed axis
572
582
var axrev = ( rng [ 1 ] < rng [ 0 ] ) ;
573
583
@@ -691,10 +701,9 @@ function arrayTicks(ax) {
691
701
var text = ax . ticktext ;
692
702
var ticksOut = new Array ( vals . length ) ;
693
703
var rng = Lib . simpleMap ( ax . range , ax . r2l ) ;
694
- var r0expanded = rng [ 0 ] * 1.0001 - rng [ 1 ] * 0.0001 ;
695
- var r1expanded = rng [ 1 ] * 1.0001 - rng [ 0 ] * 0.0001 ;
696
- var tickMin = Math . min ( r0expanded , r1expanded ) ;
697
- var tickMax = Math . max ( r0expanded , r1expanded ) ;
704
+ var exRng = expandRange ( rng ) ;
705
+ var tickMin = Math . min ( exRng [ 0 ] , exRng [ 1 ] ) ;
706
+ var tickMax = Math . max ( exRng [ 0 ] , exRng [ 1 ] ) ;
698
707
var j = 0 ;
699
708
700
709
// without a text array, just format the given values as any other ticks
@@ -956,7 +965,7 @@ axes.tickFirst = function(ax) {
956
965
var sRound = axrev ? Math . floor : Math . ceil ;
957
966
// add a tiny extra bit to make sure we get ticks
958
967
// that may have been rounded out
959
- var r0 = rng [ 0 ] * 1.0001 - rng [ 1 ] * 0.0001 ;
968
+ var r0 = expandRange ( rng ) [ 0 ] ;
960
969
var dtick = ax . dtick ;
961
970
var tick0 = r2l ( ax . tick0 ) ;
962
971
0 commit comments