@@ -3855,31 +3855,43 @@ d3.svg.axis = function() {
38553855 switch ( orient ) {
38563856 case "bottom" : {
38573857 tickTransform = d3_svg_axisX ;
3858+ subtickEnter . attr ( "y2" , tickMinorSize ) ;
38583859 subtickUpdate . attr ( "x2" , 0 ) . attr ( "y2" , tickMinorSize ) ;
3860+ tickEnter . select ( "line" ) . attr ( "y2" , tickMajorSize ) ;
3861+ tickEnter . select ( "text" ) . attr ( "y" , Math . max ( tickMajorSize , 0 ) + tickPadding ) ;
38593862 tickUpdate . select ( "line" ) . attr ( "x2" , 0 ) . attr ( "y2" , tickMajorSize ) ;
38603863 tickUpdate . select ( "text" ) . attr ( "x" , 0 ) . attr ( "y" , Math . max ( tickMajorSize , 0 ) + tickPadding ) . attr ( "dy" , ".71em" ) . attr ( "text-anchor" , "middle" ) ;
38613864 pathUpdate . attr ( "d" , "M" + range [ 0 ] + "," + tickEndSize + "V0H" + range [ 1 ] + "V" + tickEndSize ) ;
38623865 break ;
38633866 }
38643867 case "top" : {
38653868 tickTransform = d3_svg_axisX ;
3869+ subtickEnter . attr ( "y2" , - tickMinorSize ) ;
38663870 subtickUpdate . attr ( "x2" , 0 ) . attr ( "y2" , - tickMinorSize ) ;
3871+ tickEnter . select ( "line" ) . attr ( "y2" , - tickMajorSize ) ;
3872+ tickEnter . select ( "text" ) . attr ( "y" , - ( Math . max ( tickMajorSize , 0 ) + tickPadding ) ) ;
38673873 tickUpdate . select ( "line" ) . attr ( "x2" , 0 ) . attr ( "y2" , - tickMajorSize ) ;
38683874 tickUpdate . select ( "text" ) . attr ( "x" , 0 ) . attr ( "y" , - ( Math . max ( tickMajorSize , 0 ) + tickPadding ) ) . attr ( "dy" , "0em" ) . attr ( "text-anchor" , "middle" ) ;
38693875 pathUpdate . attr ( "d" , "M" + range [ 0 ] + "," + - tickEndSize + "V0H" + range [ 1 ] + "V" + - tickEndSize ) ;
38703876 break ;
38713877 }
38723878 case "left" : {
38733879 tickTransform = d3_svg_axisY ;
3880+ subtickEnter . attr ( "x2" , - tickMinorSize ) ;
38743881 subtickUpdate . attr ( "x2" , - tickMinorSize ) . attr ( "y2" , 0 ) ;
3882+ tickEnter . select ( "line" ) . attr ( "x2" , - tickMajorSize ) ;
3883+ tickEnter . select ( "text" ) . attr ( "x" , - ( Math . max ( tickMajorSize , 0 ) + tickPadding ) ) ;
38753884 tickUpdate . select ( "line" ) . attr ( "x2" , - tickMajorSize ) . attr ( "y2" , 0 ) ;
38763885 tickUpdate . select ( "text" ) . attr ( "x" , - ( Math . max ( tickMajorSize , 0 ) + tickPadding ) ) . attr ( "y" , 0 ) . attr ( "dy" , ".32em" ) . attr ( "text-anchor" , "end" ) ;
38773886 pathUpdate . attr ( "d" , "M" + - tickEndSize + "," + range [ 0 ] + "H0V" + range [ 1 ] + "H" + - tickEndSize ) ;
38783887 break ;
38793888 }
38803889 case "right" : {
38813890 tickTransform = d3_svg_axisY ;
3891+ subtickEnter . attr ( "x2" , tickMinorSize ) ;
38823892 subtickUpdate . attr ( "x2" , tickMinorSize ) . attr ( "y2" , 0 ) ;
3893+ tickEnter . select ( "line" ) . attr ( "x2" , tickMajorSize ) ;
3894+ tickEnter . select ( "text" ) . attr ( "x" , Math . max ( tickMajorSize , 0 ) + tickPadding ) ;
38833895 tickUpdate . select ( "line" ) . attr ( "x2" , tickMajorSize ) . attr ( "y2" , 0 ) ;
38843896 tickUpdate . select ( "text" ) . attr ( "x" , Math . max ( tickMajorSize , 0 ) + tickPadding ) . attr ( "y" , 0 ) . attr ( "dy" , ".32em" ) . attr ( "text-anchor" , "start" ) ;
38853897 pathUpdate . attr ( "d" , "M" + tickEndSize + "," + range [ 0 ] + "H0V" + range [ 1 ] + "H" + tickEndSize ) ;
0 commit comments