|
8632 | 8632 | g.each(function() { |
8633 | 8633 | var g = d3.select(this); |
8634 | 8634 | var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy(); |
8635 | | - var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(".tick").data(ticks, scale1), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick").style("opacity", ε), tickExit = d3.transition(tick.exit()).style("opacity", ε).remove(), tickUpdate = d3.transition(tick.order()).style("opacity", 1), tickTransform; |
| 8635 | + var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(".tick").data(ticks, scale1), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick").style("opacity", ε), tickExit = d3.transition(tick.exit()).style("opacity", ε).remove(), tickUpdate = d3.transition(tick.order()).style("opacity", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform; |
8636 | 8636 | var range = d3_scaleRange(scale1), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"), |
8637 | 8637 | d3.transition(path)); |
8638 | 8638 | tickEnter.append("line"); |
8639 | 8639 | tickEnter.append("text"); |
8640 | | - var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"); |
8641 | | - switch (orient) { |
8642 | | - case "bottom": |
8643 | | - { |
8644 | | - tickTransform = d3_svg_axisX; |
8645 | | - lineEnter.attr("y2", innerTickSize); |
8646 | | - textEnter.attr("y", Math.max(innerTickSize, 0) + tickPadding); |
8647 | | - lineUpdate.attr("x2", 0).attr("y2", innerTickSize); |
8648 | | - textUpdate.attr("x", 0).attr("y", Math.max(innerTickSize, 0) + tickPadding); |
8649 | | - text.attr("dy", ".71em").style("text-anchor", "middle"); |
8650 | | - pathUpdate.attr("d", "M" + range[0] + "," + outerTickSize + "V0H" + range[1] + "V" + outerTickSize); |
8651 | | - break; |
8652 | | - } |
8653 | | - |
8654 | | - case "top": |
8655 | | - { |
8656 | | - tickTransform = d3_svg_axisX; |
8657 | | - lineEnter.attr("y2", -innerTickSize); |
8658 | | - textEnter.attr("y", -(Math.max(innerTickSize, 0) + tickPadding)); |
8659 | | - lineUpdate.attr("x2", 0).attr("y2", -innerTickSize); |
8660 | | - textUpdate.attr("x", 0).attr("y", -(Math.max(innerTickSize, 0) + tickPadding)); |
8661 | | - text.attr("dy", "0em").style("text-anchor", "middle"); |
8662 | | - pathUpdate.attr("d", "M" + range[0] + "," + -outerTickSize + "V0H" + range[1] + "V" + -outerTickSize); |
8663 | | - break; |
8664 | | - } |
8665 | | - |
8666 | | - case "left": |
8667 | | - { |
8668 | | - tickTransform = d3_svg_axisY; |
8669 | | - lineEnter.attr("x2", -innerTickSize); |
8670 | | - textEnter.attr("x", -(Math.max(innerTickSize, 0) + tickPadding)); |
8671 | | - lineUpdate.attr("x2", -innerTickSize).attr("y2", 0); |
8672 | | - textUpdate.attr("x", -(Math.max(innerTickSize, 0) + tickPadding)).attr("y", 0); |
8673 | | - text.attr("dy", ".32em").style("text-anchor", "end"); |
8674 | | - pathUpdate.attr("d", "M" + -outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + -outerTickSize); |
8675 | | - break; |
8676 | | - } |
8677 | | - |
8678 | | - case "right": |
8679 | | - { |
8680 | | - tickTransform = d3_svg_axisY; |
8681 | | - lineEnter.attr("x2", innerTickSize); |
8682 | | - textEnter.attr("x", Math.max(innerTickSize, 0) + tickPadding); |
8683 | | - lineUpdate.attr("x2", innerTickSize).attr("y2", 0); |
8684 | | - textUpdate.attr("x", Math.max(innerTickSize, 0) + tickPadding).attr("y", 0); |
8685 | | - text.attr("dy", ".32em").style("text-anchor", "start"); |
8686 | | - pathUpdate.attr("d", "M" + outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + outerTickSize); |
8687 | | - break; |
8688 | | - } |
8689 | | - } |
| 8640 | + var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"), sign = orient === "top" || orient === "left" ? -1 : 1, x1, x2, y1, y2; |
| 8641 | + if (orient === "bottom" || orient === "top") { |
| 8642 | + tickTransform = d3_svg_axisX, x1 = "x", y1 = "y", x2 = "x2", y2 = "y2"; |
| 8643 | + text.attr("dy", sign < 0 ? "0em" : ".71em").style("text-anchor", "middle"); |
| 8644 | + pathUpdate.attr("d", "M" + range[0] + "," + sign * outerTickSize + "V0H" + range[1] + "V" + sign * outerTickSize); |
| 8645 | + } else { |
| 8646 | + tickTransform = d3_svg_axisY, x1 = "y", y1 = "x", x2 = "y2", y2 = "x2"; |
| 8647 | + text.attr("dy", ".32em").style("text-anchor", sign < 0 ? "end" : "start"); |
| 8648 | + pathUpdate.attr("d", "M" + sign * outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + sign * outerTickSize); |
| 8649 | + } |
| 8650 | + lineEnter.attr(y2, sign * innerTickSize); |
| 8651 | + textEnter.attr(y1, sign * tickSpacing); |
| 8652 | + lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize); |
| 8653 | + textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing); |
8690 | 8654 | if (scale1.rangeBand) { |
8691 | 8655 | var x = scale1, dx = x.rangeBand() / 2; |
8692 | 8656 | scale0 = scale1 = function(d) { |
|
0 commit comments