|
104 | 104 | function d3_identity(d) { |
105 | 105 | return d; |
106 | 106 | } |
107 | | - function d3_this() { |
108 | | - return this; |
109 | | - } |
110 | 107 | function d3_true() { |
111 | 108 | return true; |
112 | 109 | } |
|
1860 | 1857 | d3_selectionPrototype.empty = function() { |
1861 | 1858 | return !this.node(); |
1862 | 1859 | }; |
1863 | | - d3_selectionPrototype.node = function(callback) { |
| 1860 | + d3_selectionPrototype.node = function() { |
1864 | 1861 | for (var j = 0, m = this.length; j < m; j++) { |
1865 | 1862 | for (var group = this[j], i = 0, n = group.length; i < n; i++) { |
1866 | 1863 | var node = group[i]; |
|
1986 | 1983 | } |
1987 | 1984 | } |
1988 | 1985 | d3_transitionPrototype.select = function(selector) { |
1989 | | - var id = this.id, subgroups = [], subgroup, subnode, node, transition, subtransition; |
| 1986 | + var id = this.id, subgroups = [], subgroup, subnode, node; |
1990 | 1987 | if (typeof selector !== "function") selector = d3_selection_selector(selector); |
1991 | 1988 | for (var j = -1, m = this.length; ++j < m; ) { |
1992 | 1989 | subgroups.push(subgroup = []); |
|
2643 | 2640 | function d3_scale_quantile(domain, range) { |
2644 | 2641 | var thresholds; |
2645 | 2642 | function rescale() { |
2646 | | - var k = 0, n = domain.length, q = range.length; |
| 2643 | + var k = 0, q = range.length; |
2647 | 2644 | thresholds = []; |
2648 | 2645 | while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q); |
2649 | 2646 | return scale; |
|
2889 | 2886 | return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), |
2890 | 2887 | points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension)); |
2891 | 2888 | } |
2892 | | - function d3_svg_lineCardinal(points, tension, closed) { |
| 2889 | + function d3_svg_lineCardinal(points, tension) { |
2893 | 2890 | return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension)); |
2894 | 2891 | } |
2895 | 2892 | function d3_svg_lineHermite(points, tangents) { |
|
3214 | 3211 | function d3_svg_chordRadius(d) { |
3215 | 3212 | return d.radius; |
3216 | 3213 | } |
3217 | | - function d3_svg_chordStartAngle(d) { |
3218 | | - return d.startAngle; |
3219 | | - } |
3220 | | - function d3_svg_chordEndAngle(d) { |
3221 | | - return d.endAngle; |
3222 | | - } |
3223 | 3214 | d3.svg.diagonal = function() { |
3224 | 3215 | var source = d3_svg_chordSource, target = d3_svg_chordTarget, projection = d3_svg_diagonalProjection; |
3225 | 3216 | function diagonal(d, i) { |
|
3326 | 3317 | 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_; |
3327 | 3318 | var subticks = d3_svg_axisSubdivide(scale, ticks, tickSubdivide), subtick = g.selectAll(".minor").data(subticks, String), subtickEnter = subtick.enter().insert("line", "g").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); |
3328 | 3319 | var tick = g.selectAll("g").data(ticks, String), tickEnter = tick.enter().insert("g", "path").style("opacity", 1e-6), tickExit = d3.transition(tick.exit()).style("opacity", 1e-6).remove(), tickUpdate = d3.transition(tick).style("opacity", 1), tickTransform; |
3329 | | - var range = d3_scaleRange(scale), path = g.selectAll(".domain").data([ 0 ]), pathEnter = path.enter().append("path").attr("class", "domain"), pathUpdate = d3.transition(path); |
| 3320 | + var range = d3_scaleRange(scale), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = d3.transition(path); |
3330 | 3321 | var scale1 = scale.copy(), scale0 = this.__chart__ || scale1; |
3331 | 3322 | this.__chart__ = scale1; |
| 3323 | + path.enter().append("path").attr("class", "domain"); |
3332 | 3324 | tickEnter.append("line").attr("class", "tick"); |
3333 | 3325 | tickEnter.append("text"); |
3334 | 3326 | var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"); |
|
3430 | 3422 | tickFormat_ = x; |
3431 | 3423 | return axis; |
3432 | 3424 | }; |
3433 | | - axis.tickSize = function(x, y, z) { |
| 3425 | + axis.tickSize = function(x, y) { |
3434 | 3426 | if (!arguments.length) return tickMajorSize; |
3435 | 3427 | var n = arguments.length - 1; |
3436 | 3428 | tickMajorSize = +x; |
|
4069 | 4061 | return chord; |
4070 | 4062 | }; |
4071 | 4063 | d3.layout.force = function() { |
4072 | | - var force = {}, event = d3.dispatch("start", "tick", "end"), size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, gravity = .1, theta = .8, interval, nodes = [], links = [], distances, strengths, charges; |
| 4064 | + var force = {}, event = d3.dispatch("start", "tick", "end"), size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, gravity = .1, theta = .8, nodes = [], links = [], distances, strengths, charges; |
4073 | 4065 | function repulse(node) { |
4074 | | - return function(quad, x1, y1, x2, y2) { |
| 4066 | + return function(quad, x1, _, x2) { |
4075 | 4067 | if (quad.point !== node) { |
4076 | 4068 | var dx = quad.cx - node.x, dy = quad.cy - node.y, dn = 1 / Math.sqrt(dx * dx + dy * dy); |
4077 | 4069 | if ((x2 - x1) * dn < theta) { |
|
4319 | 4311 | quad.cx = cx / quad.charge; |
4320 | 4312 | quad.cy = cy / quad.charge; |
4321 | 4313 | } |
4322 | | - function d3_layout_forceLinkDistance(link) { |
| 4314 | + function d3_layout_forceLinkDistance() { |
4323 | 4315 | return 20; |
4324 | 4316 | } |
4325 | | - function d3_layout_forceLinkStrength(link) { |
| 4317 | + function d3_layout_forceLinkStrength() { |
4326 | 4318 | return 1; |
4327 | 4319 | } |
4328 | 4320 | d3.layout.partition = function() { |
|
4364 | 4356 | }; |
4365 | 4357 | d3.layout.pie = function() { |
4366 | 4358 | var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = 2 * π; |
4367 | | - function pie(data, i) { |
| 4359 | + function pie(data) { |
4368 | 4360 | var values = data.map(function(d, i) { |
4369 | 4361 | return +value.call(pie, d, i); |
4370 | 4362 | }); |
|
4417 | 4409 | var series = data.map(function(d, i) { |
4418 | 4410 | return values.call(stack, d, i); |
4419 | 4411 | }); |
4420 | | - var points = series.map(function(d, i) { |
| 4412 | + var points = series.map(function(d) { |
4421 | 4413 | return d.map(function(v, i) { |
4422 | 4414 | return [ x.call(stack, v, i), y.call(stack, v, i) ]; |
4423 | 4415 | }); |
|
4513 | 4505 | return y0; |
4514 | 4506 | }, |
4515 | 4507 | wiggle: function(data) { |
4516 | | - var n = data.length, x = data[0], m = x.length, max = 0, i, j, k, s1, s2, s3, dx, o, o0, y0 = []; |
| 4508 | + var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = []; |
4517 | 4509 | y0[0] = o = o0 = 0; |
4518 | 4510 | for (j = 1; j < m; ++j) { |
4519 | 4511 | for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1]; |
|
4863 | 4855 | d3.layout.cluster = function() { |
4864 | 4856 | var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ]; |
4865 | 4857 | function cluster(d, i) { |
4866 | | - var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0, kx, ky; |
| 4858 | + var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0; |
4867 | 4859 | d3_layout_treeVisitAfter(root, function(node) { |
4868 | 4860 | var children = node.children; |
4869 | 4861 | if (children && children.length) { |
|
5499 | 5491 | } |
5500 | 5492 | d3.geo.circle = function() { |
5501 | 5493 | var origin = [ 0, 0 ], degrees, clip, precision = 6, rotate, interpolate; |
5502 | | - function circle(d) { |
| 5494 | + function circle() { |
5503 | 5495 | var o = typeof origin === "function" ? origin.apply(this, arguments) : origin; |
5504 | 5496 | rotate = d3_geo_rotation(-o[0] * d3_radians, -o[1] * d3_radians, 0); |
5505 | 5497 | var rings = [ [] ]; |
|
5618 | 5610 | } |
5619 | 5611 | }; |
5620 | 5612 | function d3_geo_circleClip(degrees, rotate) { |
5621 | | - var radians = degrees * d3_radians, normal = [ 1, 0, 0 ], reference = [ 0, -1, 0 ], cr = Math.cos(radians), sr = Math.sin(radians), center = d3_geo_circleScale(normal, cr), angle = d3_geo_circleAngle(center), interpolate = d3_geo_circleInterpolate(radians, 6 * d3_radians); |
| 5613 | + var radians = degrees * d3_radians, normal = [ 1, 0, 0 ], center = d3_geo_circleScale(normal, Math.cos(radians)), angle = d3_geo_circleAngle(center), interpolate = d3_geo_circleInterpolate(radians, 6 * d3_radians); |
5622 | 5614 | return { |
5623 | 5615 | point: function(coordinates, context) { |
5624 | 5616 | if (visible(coordinates = rotate(coordinates))) { |
|
5802 | 5794 | d[2] /= l; |
5803 | 5795 | } |
5804 | 5796 | function d3_geo_circleBufferSegments(f) { |
5805 | | - return function(coordinates, context) { |
5806 | | - var segments = [], segment, winding = f(coordinates, { |
5807 | | - point: function() {}, |
| 5797 | + return function(coordinates) { |
| 5798 | + var segments = [], segment; |
| 5799 | + return [ f(coordinates, { |
| 5800 | + point: d3_noop, |
5808 | 5801 | moveTo: function(x, y) { |
5809 | 5802 | segments.push(segment = [ [ x, y ] ]); |
5810 | 5803 | }, |
5811 | 5804 | lineTo: function(x, y) { |
5812 | 5805 | segment.push([ x, y ]); |
5813 | 5806 | }, |
5814 | | - closePath: function() {} |
5815 | | - }, 0); |
5816 | | - return [ winding, segments ]; |
| 5807 | + closePath: d3_noop |
| 5808 | + }, 0), segments ]; |
5817 | 5809 | }; |
5818 | 5810 | } |
5819 | 5811 | function d3_geo_circleWinding(p0, p) { |
|
5992 | 5984 | }; |
5993 | 5985 | return interpolate; |
5994 | 5986 | } |
5995 | | - function d3_geo_greatArcInterpolate(a, b) { |
5996 | | - var i = d3_geo_greatArcInterpolator().source(a).target(b); |
5997 | | - i.distance(); |
5998 | | - return i; |
5999 | | - } |
6000 | 5987 | function d3_geo_mercator(λ, φ) { |
6001 | 5988 | return [ λ / (2 * π), Math.max(-.5, Math.min(+.5, Math.log(Math.tan(π / 4 + φ / 2)) / (2 * π))) ]; |
6002 | 5989 | } |
|
7191 | 7178 | return d3_time_formatPad(d.getFullYear() % 1e4, p, 4); |
7192 | 7179 | }, |
7193 | 7180 | Z: d3_time_zone, |
7194 | | - "%": function(d) { |
| 7181 | + "%": function() { |
7195 | 7182 | return "%"; |
7196 | 7183 | } |
7197 | 7184 | }; |
|
7545 | 7532 | } |
7546 | 7533 | var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ]; |
7547 | 7534 | var d3_time_scaleLocalMethods = [ [ d3.time.second, 1 ], [ d3.time.second, 5 ], [ d3.time.second, 15 ], [ d3.time.second, 30 ], [ d3.time.minute, 1 ], [ d3.time.minute, 5 ], [ d3.time.minute, 15 ], [ d3.time.minute, 30 ], [ d3.time.hour, 1 ], [ d3.time.hour, 3 ], [ d3.time.hour, 6 ], [ d3.time.hour, 12 ], [ d3.time.day, 1 ], [ d3.time.day, 2 ], [ d3.time.week, 1 ], [ d3.time.month, 1 ], [ d3.time.month, 3 ], [ d3.time.year, 1 ] ]; |
7548 | | - var d3_time_scaleLocalFormats = [ [ d3.time.format("%Y"), function(d) { |
7549 | | - return true; |
7550 | | - } ], [ d3.time.format("%B"), function(d) { |
| 7535 | + var d3_time_scaleLocalFormats = [ [ d3.time.format("%Y"), d3_true ], [ d3.time.format("%B"), function(d) { |
7551 | 7536 | return d.getMonth(); |
7552 | 7537 | } ], [ d3.time.format("%b %d"), function(d) { |
7553 | 7538 | return d.getDate() != 1; |
|
7572 | 7557 | var d3_time_scaleUTCMethods = d3_time_scaleLocalMethods.map(function(m) { |
7573 | 7558 | return [ m[0].utc, m[1] ]; |
7574 | 7559 | }); |
7575 | | - var d3_time_scaleUTCFormats = [ [ d3.time.format.utc("%Y"), function(d) { |
7576 | | - return true; |
7577 | | - } ], [ d3.time.format.utc("%B"), function(d) { |
| 7560 | + var d3_time_scaleUTCFormats = [ [ d3.time.format.utc("%Y"), d3_true ], [ d3.time.format.utc("%B"), function(d) { |
7578 | 7561 | return d.getUTCMonth(); |
7579 | 7562 | } ], [ d3.time.format.utc("%b %d"), function(d) { |
7580 | 7563 | return d.getUTCDate() != 1; |
|
0 commit comments