MCPcopy Create free account
hub / github.com/idank/explainshell / axis

Function axis

explainshell/web/static/js/d3.v3.js:7408–7493  ·  view source on GitHub ↗
(g)

Source from the content-addressed store, hash-verified

7406 d3.svg.axis = function() {
7407 var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, tickMajorSize = 6, tickMinorSize = 6, tickEndSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_, tickSubdivide = 0;
7408 function axis(g) {
7409 g.each(function() {
7410 var g = d3.select(this);
7411 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_;
7412 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);
7413 var tick = g.selectAll(".tick.major").data(ticks, String), tickEnter = tick.enter().insert("g", "path").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;
7414 var range = d3_scaleRange(scale), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"),
7415 d3.transition(path));
7416 var scale1 = scale.copy(), scale0 = this.__chart__ || scale1;
7417 this.__chart__ = scale1;
7418 tickEnter.append("line");
7419 tickEnter.append("text");
7420 var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text");
7421 switch (orient) {
7422 case "bottom":
7423 {
7424 tickTransform = d3_svg_axisX;
7425 subtickEnter.attr("y2", tickMinorSize);
7426 subtickUpdate.attr("x2", 0).attr("y2", tickMinorSize);
7427 lineEnter.attr("y2", tickMajorSize);
7428 textEnter.attr("y", Math.max(tickMajorSize, 0) + tickPadding);
7429 lineUpdate.attr("x2", 0).attr("y2", tickMajorSize);
7430 textUpdate.attr("x", 0).attr("y", Math.max(tickMajorSize, 0) + tickPadding);
7431 text.attr("dy", ".71em").style("text-anchor", "middle");
7432 pathUpdate.attr("d", "M" + range[0] + "," + tickEndSize + "V0H" + range[1] + "V" + tickEndSize);
7433 break;
7434 }
7435
7436 case "top":
7437 {
7438 tickTransform = d3_svg_axisX;
7439 subtickEnter.attr("y2", -tickMinorSize);
7440 subtickUpdate.attr("x2", 0).attr("y2", -tickMinorSize);
7441 lineEnter.attr("y2", -tickMajorSize);
7442 textEnter.attr("y", -(Math.max(tickMajorSize, 0) + tickPadding));
7443 lineUpdate.attr("x2", 0).attr("y2", -tickMajorSize);
7444 textUpdate.attr("x", 0).attr("y", -(Math.max(tickMajorSize, 0) + tickPadding));
7445 text.attr("dy", "0em").style("text-anchor", "middle");
7446 pathUpdate.attr("d", "M" + range[0] + "," + -tickEndSize + "V0H" + range[1] + "V" + -tickEndSize);
7447 break;
7448 }
7449
7450 case "left":
7451 {
7452 tickTransform = d3_svg_axisY;
7453 subtickEnter.attr("x2", -tickMinorSize);
7454 subtickUpdate.attr("x2", -tickMinorSize).attr("y2", 0);
7455 lineEnter.attr("x2", -tickMajorSize);
7456 textEnter.attr("x", -(Math.max(tickMajorSize, 0) + tickPadding));
7457 lineUpdate.attr("x2", -tickMajorSize).attr("y2", 0);
7458 textUpdate.attr("x", -(Math.max(tickMajorSize, 0) + tickPadding)).attr("y", 0);
7459 text.attr("dy", ".32em").style("text-anchor", "end");
7460 pathUpdate.attr("d", "M" + -tickEndSize + "," + range[0] + "H0V" + range[1] + "H" + -tickEndSize);
7461 break;
7462 }
7463
7464 case "right":
7465 {

Callers

nothing calls this directly

Calls 3

d3_svg_axisSubdivideFunction · 0.85
d3_scaleRangeFunction · 0.85
callMethod · 0.45

Tested by

no test coverage detected