Skip to content

Commit d3d4cee

Browse files
committed
Fix a bug with entering tick transition.
The tick sizes need to be set, else they grow from zero.
1 parent 149d174 commit d3d4cee

3 files changed

Lines changed: 25 additions & 1 deletion

File tree

d3.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)