@@ -4120,50 +4120,59 @@ d3.svg.axis = function() {
41204120
41214121 tickEnter . append ( "line" ) . attr ( "class" , "tick" ) ;
41224122 tickEnter . append ( "text" ) ;
4123- tickUpdate . select ( "text" ) . text ( tickFormat ) ;
4123+
4124+ var lineEnter = tickEnter . select ( "line" ) ,
4125+ lineUpdate = tickUpdate . select ( "line" ) ,
4126+ text = tick . select ( "text" ) . text ( tickFormat ) ,
4127+ textEnter = tickEnter . select ( "text" ) ,
4128+ textUpdate = tickUpdate . select ( "text" ) ;
41244129
41254130 switch ( orient ) {
41264131 case "bottom" : {
41274132 tickTransform = d3_svg_axisX ;
41284133 subtickEnter . attr ( "y2" , tickMinorSize ) ;
41294134 subtickUpdate . attr ( "x2" , 0 ) . attr ( "y2" , tickMinorSize ) ;
4130- tickEnter . select ( "line" ) . attr ( "y2" , tickMajorSize ) ;
4131- tickEnter . select ( "text" ) . attr ( "y" , Math . max ( tickMajorSize , 0 ) + tickPadding ) ;
4132- tickUpdate . select ( "line" ) . attr ( "x2" , 0 ) . attr ( "y2" , tickMajorSize ) ;
4133- tickUpdate . select ( "text" ) . attr ( "x" , 0 ) . attr ( "y" , Math . max ( tickMajorSize , 0 ) + tickPadding ) . attr ( "dy" , ".71em" ) . attr ( "text-anchor" , "middle" ) ;
4135+ lineEnter . attr ( "y2" , tickMajorSize ) ;
4136+ textEnter . attr ( "y" , Math . max ( tickMajorSize , 0 ) + tickPadding ) ;
4137+ lineUpdate . attr ( "x2" , 0 ) . attr ( "y2" , tickMajorSize ) ;
4138+ textUpdate . attr ( "x" , 0 ) . attr ( "y" , Math . max ( tickMajorSize , 0 ) + tickPadding ) ;
4139+ text . attr ( "dy" , ".71em" ) . attr ( "text-anchor" , "middle" ) ;
41344140 pathUpdate . attr ( "d" , "M" + range [ 0 ] + "," + tickEndSize + "V0H" + range [ 1 ] + "V" + tickEndSize ) ;
41354141 break ;
41364142 }
41374143 case "top" : {
41384144 tickTransform = d3_svg_axisX ;
41394145 subtickEnter . attr ( "y2" , - tickMinorSize ) ;
41404146 subtickUpdate . attr ( "x2" , 0 ) . attr ( "y2" , - tickMinorSize ) ;
4141- tickEnter . select ( "line" ) . attr ( "y2" , - tickMajorSize ) ;
4142- tickEnter . select ( "text" ) . attr ( "y" , - ( Math . max ( tickMajorSize , 0 ) + tickPadding ) ) ;
4143- tickUpdate . select ( "line" ) . attr ( "x2" , 0 ) . attr ( "y2" , - tickMajorSize ) ;
4144- tickUpdate . select ( "text" ) . attr ( "x" , 0 ) . attr ( "y" , - ( Math . max ( tickMajorSize , 0 ) + tickPadding ) ) . attr ( "dy" , "0em" ) . attr ( "text-anchor" , "middle" ) ;
4147+ lineEnter . attr ( "y2" , - tickMajorSize ) ;
4148+ textEnter . attr ( "y" , - ( Math . max ( tickMajorSize , 0 ) + tickPadding ) ) ;
4149+ lineUpdate . attr ( "x2" , 0 ) . attr ( "y2" , - tickMajorSize ) ;
4150+ textUpdate . attr ( "x" , 0 ) . attr ( "y" , - ( Math . max ( tickMajorSize , 0 ) + tickPadding ) ) ;
4151+ text . attr ( "dy" , "0em" ) . attr ( "text-anchor" , "middle" ) ;
41454152 pathUpdate . attr ( "d" , "M" + range [ 0 ] + "," + - tickEndSize + "V0H" + range [ 1 ] + "V" + - tickEndSize ) ;
41464153 break ;
41474154 }
41484155 case "left" : {
41494156 tickTransform = d3_svg_axisY ;
41504157 subtickEnter . attr ( "x2" , - tickMinorSize ) ;
41514158 subtickUpdate . attr ( "x2" , - tickMinorSize ) . attr ( "y2" , 0 ) ;
4152- tickEnter . select ( "line" ) . attr ( "x2" , - tickMajorSize ) ;
4153- tickEnter . select ( "text" ) . attr ( "x" , - ( Math . max ( tickMajorSize , 0 ) + tickPadding ) ) ;
4154- tickUpdate . select ( "line" ) . attr ( "x2" , - tickMajorSize ) . attr ( "y2" , 0 ) ;
4155- tickUpdate . select ( "text" ) . attr ( "x" , - ( Math . max ( tickMajorSize , 0 ) + tickPadding ) ) . attr ( "y" , 0 ) . attr ( "dy" , ".32em" ) . attr ( "text-anchor" , "end" ) ;
4159+ lineEnter . attr ( "x2" , - tickMajorSize ) ;
4160+ textEnter . attr ( "x" , - ( Math . max ( tickMajorSize , 0 ) + tickPadding ) ) ;
4161+ lineUpdate . attr ( "x2" , - tickMajorSize ) . attr ( "y2" , 0 ) ;
4162+ textUpdate . attr ( "x" , - ( Math . max ( tickMajorSize , 0 ) + tickPadding ) ) . attr ( "y" , 0 ) ;
4163+ text . attr ( "dy" , ".32em" ) . attr ( "text-anchor" , "end" ) ;
41564164 pathUpdate . attr ( "d" , "M" + - tickEndSize + "," + range [ 0 ] + "H0V" + range [ 1 ] + "H" + - tickEndSize ) ;
41574165 break ;
41584166 }
41594167 case "right" : {
41604168 tickTransform = d3_svg_axisY ;
41614169 subtickEnter . attr ( "x2" , tickMinorSize ) ;
41624170 subtickUpdate . attr ( "x2" , tickMinorSize ) . attr ( "y2" , 0 ) ;
4163- tickEnter . select ( "line" ) . attr ( "x2" , tickMajorSize ) ;
4164- tickEnter . select ( "text" ) . attr ( "x" , Math . max ( tickMajorSize , 0 ) + tickPadding ) ;
4165- tickUpdate . select ( "line" ) . attr ( "x2" , tickMajorSize ) . attr ( "y2" , 0 ) ;
4166- tickUpdate . select ( "text" ) . attr ( "x" , Math . max ( tickMajorSize , 0 ) + tickPadding ) . attr ( "y" , 0 ) . attr ( "dy" , ".32em" ) . attr ( "text-anchor" , "start" ) ;
4171+ lineEnter . attr ( "x2" , tickMajorSize ) ;
4172+ textEnter . attr ( "x" , Math . max ( tickMajorSize , 0 ) + tickPadding ) ;
4173+ lineUpdate . attr ( "x2" , tickMajorSize ) . attr ( "y2" , 0 ) ;
4174+ textUpdate . attr ( "x" , Math . max ( tickMajorSize , 0 ) + tickPadding ) . attr ( "y" , 0 ) ;
4175+ text . attr ( "dy" , ".32em" ) . attr ( "text-anchor" , "start" ) ;
41674176 pathUpdate . attr ( "d" , "M" + tickEndSize + "," + range [ 0 ] + "H0V" + range [ 1 ] + "H" + tickEndSize ) ;
41684177 break ;
41694178 }
0 commit comments