@@ -1648,7 +1648,7 @@ axes.drawOne = function(gd, ax, opts) {
1648
1648
// The key case here is removing zero lines when the axis bound is zero
1649
1649
var valsClipped ;
1650
1650
1651
- if ( ax . tickson === 'boundaries' && vals . length ) {
1651
+ if ( ax . tickson === 'boundaries' ) {
1652
1652
var boundaryVals = getBoundaryVals ( ax , vals ) ;
1653
1653
valsClipped = axes . clipEnds ( ax , boundaryVals ) ;
1654
1654
tickVals = ax . ticks === 'inside' ? valsClipped : boundaryVals ;
@@ -1915,10 +1915,12 @@ function getBoundaryVals(ax, vals) {
1915
1915
}
1916
1916
} ;
1917
1917
1918
- for ( i = 0 ; i < vals . length ; i ++ ) {
1919
- _push ( vals [ i ] , 0 ) ;
1918
+ if ( vals . length ) {
1919
+ for ( i = 0 ; i < vals . length ; i ++ ) {
1920
+ _push ( vals [ i ] , 0 ) ;
1921
+ }
1922
+ _push ( vals [ i - 1 ] , 1 ) ;
1920
1923
}
1921
- _push ( vals [ i - 1 ] , 1 ) ;
1922
1924
1923
1925
return out ;
1924
1926
}
@@ -1956,14 +1958,16 @@ function getDividerVals(ax, vals) {
1956
1958
}
1957
1959
} ;
1958
1960
1959
- for ( i = 0 ; i < vals . length ; i ++ ) {
1960
- var d = vals [ i ] ;
1961
- if ( d . text2 !== current ) {
1962
- _push ( d , 0 ) ;
1961
+ if ( ax . showdividers && vals . length ) {
1962
+ for ( i = 0 ; i < vals . length ; i ++ ) {
1963
+ var d = vals [ i ] ;
1964
+ if ( d . text2 !== current ) {
1965
+ _push ( d , 0 ) ;
1966
+ }
1967
+ current = d . text2 ;
1963
1968
}
1964
- current = d . text2 ;
1969
+ _push ( vals [ i - 1 ] , 1 ) ;
1965
1970
}
1966
- _push ( vals [ i - 1 ] , 1 ) ;
1967
1971
1968
1972
return out ;
1969
1973
}
@@ -2507,7 +2511,7 @@ function drawDividers(gd, ax, opts) {
2507
2511
var vals = opts . vals ;
2508
2512
2509
2513
var dividers = opts . layer . selectAll ( 'path.' + cls )
2510
- . data ( ax . showdividers ? vals : [ ] , makeDataFn ( ax ) ) ;
2514
+ . data ( vals , makeDataFn ( ax ) ) ;
2511
2515
2512
2516
dividers . exit ( ) . remove ( ) ;
2513
2517
0 commit comments