@@ -37,6 +37,7 @@ var BADNUM = constants.BADNUM;
37
37
var VISIBLE = { visibility : 'visible' } ;
38
38
var HIDDEN = { visibility : 'hidden' } ;
39
39
40
+ var ZERO_PATH = { K : 'zeroline' } ;
40
41
var GRID_PATH = { K : 'gridline' , L : 'path' } ;
41
42
var TICK_PATH = { K : 'tick' , L : 'path' } ;
42
43
var TICK_TEXT = { K : 'tick' , L : 'text' } ;
@@ -2921,7 +2922,10 @@ axes.drawZeroLine = function(gd, ax, opts) {
2921
2922
zl . attr ( 'transform' , opts . transFn )
2922
2923
. attr ( 'd' , opts . path )
2923
2924
. call ( Color . stroke , ax . zerolinecolor || Color . defaultLine )
2924
- . style ( 'stroke-width' , Drawing . crispRound ( gd , ax . zerolinewidth , ax . _gw || 1 ) + 'px' ) ;
2925
+ . style ( 'stroke-width' , Drawing . crispRound ( gd , ax . zerolinewidth , ax . _gw || 1 ) + 'px' )
2926
+ . style ( VISIBLE ) ;
2927
+
2928
+ hideCounterAxisInsideTickLabels ( ax , [ ZERO_PATH ] ) ;
2925
2929
} ;
2926
2930
2927
2931
/**
@@ -3101,6 +3105,7 @@ axes.drawLabels = function(gd, ax, opts) {
3101
3105
ax . _hideCounterAxisInsideTickLabels = function ( partialOpts ) {
3102
3106
if ( insideTicklabelposition ( ax . _anchorAxis || { } ) ) {
3103
3107
( partialOpts || [
3108
+ ZERO_PATH ,
3104
3109
GRID_PATH ,
3105
3110
TICK_PATH ,
3106
3111
TICK_TEXT
@@ -3109,12 +3114,15 @@ axes.drawLabels = function(gd, ax, opts) {
3109
3114
if ( isTickText && ax . ticklabelmode === 'period' ) return ;
3110
3115
3111
3116
var sel ;
3112
- if ( e . K === 'gridline' ) sel = opts . plotinfo . gridlayer . selectAll ( '.' + ax . _id ) ;
3117
+ if ( e . K === ZERO_PATH . K ) sel = opts . plotinfo . zerolinelayer . selectAll ( '.' + ax . _id + 'zl' ) ;
3118
+ else if ( e . K === GRID_PATH . K ) sel = opts . plotinfo . gridlayer . selectAll ( '.' + ax . _id ) ;
3113
3119
else sel = opts . plotinfo [ ax . _id . charAt ( 0 ) + 'axislayer' ] ;
3114
3120
3115
-
3116
3121
sel . each ( function ( ) {
3117
- d3 . select ( this ) . selectAll ( e . L ) . each ( function ( d ) {
3122
+ var w = d3 . select ( this ) ;
3123
+ if ( e . L ) w = w . selectAll ( e . L ) ;
3124
+
3125
+ w . each ( function ( d ) {
3118
3126
var q = ax . l2p ( d . x ) + ax . _offset ;
3119
3127
3120
3128
var t = d3 . select ( this ) ;
0 commit comments