(g)
| 7749 | d3.svg.axis = function() { |
| 7750 | var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, tickMajorSize = 6, tickMinorSize = 6, tickEndSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_, tickSubdivide = 0; |
| 7751 | function axis(g) { |
| 7752 | g.each(function() { |
| 7753 | var g = d3.select(this); |
| 7754 | var ticks = tickValues == null ? scale.ticks ? scale.ticks.apply(scale, tickArguments_) : scale.domain() : tickValues, tickFormat = tickFormat_ == null ? scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments_) : String : tickFormat_; |
| 7755 | var subticks = d3_svg_axisSubdivide(scale, ticks, tickSubdivide), subtick = g.selectAll(".tick.minor").data(subticks, String), subtickEnter = subtick.enter().insert("line", ".tick").attr("class", "tick minor").style("opacity", 1e-6), subtickExit = d3.transition(subtick.exit()).style("opacity", 1e-6).remove(), subtickUpdate = d3.transition(subtick).style("opacity", 1); |
| 7756 | var tick = g.selectAll(".tick.major").data(ticks, String), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick major").style("opacity", 1e-6), tickExit = d3.transition(tick.exit()).style("opacity", 1e-6).remove(), tickUpdate = d3.transition(tick).style("opacity", 1), tickTransform; |
| 7757 | var range = d3_scaleRange(scale), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"), |
| 7758 | d3.transition(path)); |
| 7759 | var scale1 = scale.copy(), scale0 = this.__chart__ || scale1; |
| 7760 | this.__chart__ = scale1; |
| 7761 | tickEnter.append("line"); |
| 7762 | tickEnter.append("text"); |
| 7763 | var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"); |
| 7764 | switch (orient) { |
| 7765 | case "bottom": |
| 7766 | { |
| 7767 | tickTransform = d3_svg_axisX; |
| 7768 | subtickEnter.attr("y2", tickMinorSize); |
| 7769 | subtickUpdate.attr("x2", 0).attr("y2", tickMinorSize); |
| 7770 | lineEnter.attr("y2", tickMajorSize); |
| 7771 | textEnter.attr("y", Math.max(tickMajorSize, 0) + tickPadding); |
| 7772 | lineUpdate.attr("x2", 0).attr("y2", tickMajorSize); |
| 7773 | textUpdate.attr("x", 0).attr("y", Math.max(tickMajorSize, 0) + tickPadding); |
| 7774 | text.attr("dy", ".71em").style("text-anchor", "middle"); |
| 7775 | pathUpdate.attr("d", "M" + range[0] + "," + tickEndSize + "V0H" + range[1] + "V" + tickEndSize); |
| 7776 | break; |
| 7777 | } |
| 7778 | |
| 7779 | case "top": |
| 7780 | { |
| 7781 | tickTransform = d3_svg_axisX; |
| 7782 | subtickEnter.attr("y2", -tickMinorSize); |
| 7783 | subtickUpdate.attr("x2", 0).attr("y2", -tickMinorSize); |
| 7784 | lineEnter.attr("y2", -tickMajorSize); |
| 7785 | textEnter.attr("y", -(Math.max(tickMajorSize, 0) + tickPadding)); |
| 7786 | lineUpdate.attr("x2", 0).attr("y2", -tickMajorSize); |
| 7787 | textUpdate.attr("x", 0).attr("y", -(Math.max(tickMajorSize, 0) + tickPadding)); |
| 7788 | text.attr("dy", "0em").style("text-anchor", "middle"); |
| 7789 | pathUpdate.attr("d", "M" + range[0] + "," + -tickEndSize + "V0H" + range[1] + "V" + -tickEndSize); |
| 7790 | break; |
| 7791 | } |
| 7792 | |
| 7793 | case "left": |
| 7794 | { |
| 7795 | tickTransform = d3_svg_axisY; |
| 7796 | subtickEnter.attr("x2", -tickMinorSize); |
| 7797 | subtickUpdate.attr("x2", -tickMinorSize).attr("y2", 0); |
| 7798 | lineEnter.attr("x2", -tickMajorSize); |
| 7799 | textEnter.attr("x", -(Math.max(tickMajorSize, 0) + tickPadding)); |
| 7800 | lineUpdate.attr("x2", -tickMajorSize).attr("y2", 0); |
| 7801 | textUpdate.attr("x", -(Math.max(tickMajorSize, 0) + tickPadding)).attr("y", 0); |
| 7802 | text.attr("dy", ".32em").style("text-anchor", "end"); |
| 7803 | pathUpdate.attr("d", "M" + -tickEndSize + "," + range[0] + "H0V" + range[1] + "H" + -tickEndSize); |
| 7804 | break; |
| 7805 | } |
| 7806 | |
| 7807 | case "right": |
| 7808 | { |
nothing calls this directly
no test coverage detected