d3-rails 4.13.0 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/CHANGELOG.md +3 -0
- data/README.md +1 -1
- data/Rakefile +9 -5
- data/app/assets/javascripts/d3.js +1675 -1040
- data/app/assets/javascripts/d3.min.js +2 -2
- data/app/assets/javascripts/{d3.v4.js → d3.v5.js} +1675 -1040
- data/app/assets/javascripts/d3.v5.min.js +2 -0
- data/lib/d3/rails/version.rb +1 -1
- metadata +5 -7
- data/app/assets/javascripts/d3.v3.js +0 -9554
- data/app/assets/javascripts/d3.v3.min.js +0 -5
- data/app/assets/javascripts/d3.v4.min.js +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 16859016b5682cf08f3225a91021125d9248d15c20596075d59f85711beb8482
|
4
|
+
data.tar.gz: c9e0adc64df61d839e590369baeb7c879a2ee2519d80a9c6ac40752b355518a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1755ca52805fc136d16c3ca094517af45fea5f1e44cf1e03f776c60ff552c39ca9b81dfc5f68ad3d862aff11908f7032038f7a3f9553e491a44bade558ae065
|
7
|
+
data.tar.gz: 91d58c15e8395c55082f4d1d45540dbb3c6e84547a8225b690b1d8f3f3d5c728ae3d26066b467ce1e1464420d4bc5089d54b042d00bfd689fc77b1ec15349d6b
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -8,7 +8,7 @@ d3-rails provides D3 for Rails 3.1 and higher.
|
|
8
8
|
|
9
9
|
## Version
|
10
10
|
|
11
|
-
d3-rails comes with version 4.
|
11
|
+
d3-rails comes with version 5.4.0 of D3.js. The d3-rails version will
|
12
12
|
always mirror the version of D3. If you need a newer version of
|
13
13
|
d3-rails, see section Development (below).
|
14
14
|
|
data/Rakefile
CHANGED
@@ -4,11 +4,15 @@ Bundler::GemHelper.install_tasks
|
|
4
4
|
namespace :d3 do
|
5
5
|
desc 'Update d3 version'
|
6
6
|
task :update_version do
|
7
|
-
`curl -o app/assets/javascripts/d3.js https://d3js.org/d3.
|
8
|
-
`curl -o app/assets/javascripts/d3.min.js https://d3js.org/d3.
|
9
|
-
`cp app/assets/javascripts/d3.js app/assets/javascripts/d3.
|
10
|
-
`cp app/assets/javascripts/d3.min.js app/assets/javascripts/d3.
|
11
|
-
version =
|
7
|
+
`curl -o app/assets/javascripts/d3.js https://d3js.org/d3.v5.js`
|
8
|
+
`curl -o app/assets/javascripts/d3.min.js https://d3js.org/d3.v5.min.js`
|
9
|
+
`cp app/assets/javascripts/d3.js app/assets/javascripts/d3.v5.js`
|
10
|
+
`cp app/assets/javascripts/d3.min.js app/assets/javascripts/d3.v5.min.js`
|
11
|
+
version = File.open("app/assets/javascripts/d3.js") { |f|
|
12
|
+
f.each_line.lazy.select { |line|
|
13
|
+
line.match(/((\d+\.)(\d+\.)(\*|\d+))/)
|
14
|
+
}.first; $1
|
15
|
+
}
|
12
16
|
message = <<-MSG
|
13
17
|
Please update the version to #{version} manually in the following files:
|
14
18
|
* CHANGELOG.md
|
@@ -1,11 +1,11 @@
|
|
1
|
-
// https://d3js.org Version 4.
|
1
|
+
// https://d3js.org Version 5.4.0. Copyright 2018 Mike Bostock.
|
2
2
|
(function (global, factory) {
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
4
4
|
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
5
5
|
(factory((global.d3 = global.d3 || {})));
|
6
6
|
}(this, (function (exports) { 'use strict';
|
7
7
|
|
8
|
-
var version = "4.
|
8
|
+
var version = "5.4.0";
|
9
9
|
|
10
10
|
function ascending(a, b) {
|
11
11
|
return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
|
@@ -190,9 +190,9 @@ function sequence(start, stop, step) {
|
|
190
190
|
return range;
|
191
191
|
}
|
192
192
|
|
193
|
-
var e10 = Math.sqrt(50)
|
194
|
-
|
195
|
-
|
193
|
+
var e10 = Math.sqrt(50),
|
194
|
+
e5 = Math.sqrt(10),
|
195
|
+
e2 = Math.sqrt(2);
|
196
196
|
|
197
197
|
function ticks(start, stop, count) {
|
198
198
|
var reverse,
|
@@ -242,14 +242,14 @@ function tickStep(start, stop, count) {
|
|
242
242
|
return stop < start ? -step1 : step1;
|
243
243
|
}
|
244
244
|
|
245
|
-
function
|
245
|
+
function thresholdSturges(values) {
|
246
246
|
return Math.ceil(Math.log(values.length) / Math.LN2) + 1;
|
247
247
|
}
|
248
248
|
|
249
249
|
function histogram() {
|
250
250
|
var value = identity,
|
251
251
|
domain = extent,
|
252
|
-
threshold =
|
252
|
+
threshold = thresholdSturges;
|
253
253
|
|
254
254
|
function histogram(data) {
|
255
255
|
var i,
|
@@ -561,11 +561,11 @@ function identity$1(x) {
|
|
561
561
|
return x;
|
562
562
|
}
|
563
563
|
|
564
|
-
var top = 1
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
564
|
+
var top = 1,
|
565
|
+
right = 2,
|
566
|
+
bottom = 3,
|
567
|
+
left = 4,
|
568
|
+
epsilon = 1e-6;
|
569
569
|
|
570
570
|
function translateX(x) {
|
571
571
|
return "translate(" + (x + 0.5) + ",0)";
|
@@ -878,12 +878,12 @@ function selection_select(select) {
|
|
878
878
|
return new Selection(subgroups, this._parents);
|
879
879
|
}
|
880
880
|
|
881
|
-
function empty
|
881
|
+
function empty() {
|
882
882
|
return [];
|
883
883
|
}
|
884
884
|
|
885
885
|
function selectorAll(selector) {
|
886
|
-
return selector == null ? empty
|
886
|
+
return selector == null ? empty : function() {
|
887
887
|
return this.querySelectorAll(selector);
|
888
888
|
};
|
889
889
|
}
|
@@ -1702,7 +1702,7 @@ function create(name) {
|
|
1702
1702
|
|
1703
1703
|
var nextId = 0;
|
1704
1704
|
|
1705
|
-
function local
|
1705
|
+
function local() {
|
1706
1706
|
return new Local;
|
1707
1707
|
}
|
1708
1708
|
|
@@ -1710,7 +1710,7 @@ function Local() {
|
|
1710
1710
|
this._ = "@" + (++nextId).toString(36);
|
1711
1711
|
}
|
1712
1712
|
|
1713
|
-
Local.prototype = local
|
1713
|
+
Local.prototype = local.prototype = {
|
1714
1714
|
constructor: Local,
|
1715
1715
|
get: function(node) {
|
1716
1716
|
var id = this._;
|
@@ -1793,9 +1793,9 @@ function noevent() {
|
|
1793
1793
|
|
1794
1794
|
function dragDisable(view) {
|
1795
1795
|
var root = view.document.documentElement,
|
1796
|
-
selection = select(view).on("dragstart.drag", noevent, true);
|
1796
|
+
selection$$1 = select(view).on("dragstart.drag", noevent, true);
|
1797
1797
|
if ("onselectstart" in root) {
|
1798
|
-
selection.on("selectstart.drag", noevent, true);
|
1798
|
+
selection$$1.on("selectstart.drag", noevent, true);
|
1799
1799
|
} else {
|
1800
1800
|
root.__noselect = root.style.MozUserSelect;
|
1801
1801
|
root.style.MozUserSelect = "none";
|
@@ -1804,13 +1804,13 @@ function dragDisable(view) {
|
|
1804
1804
|
|
1805
1805
|
function yesdrag(view, noclick) {
|
1806
1806
|
var root = view.document.documentElement,
|
1807
|
-
selection = select(view).on("dragstart.drag", null);
|
1807
|
+
selection$$1 = select(view).on("dragstart.drag", null);
|
1808
1808
|
if (noclick) {
|
1809
|
-
selection.on("click.drag", noevent, true);
|
1810
|
-
setTimeout(function() { selection.on("click.drag", null); }, 0);
|
1809
|
+
selection$$1.on("click.drag", noevent, true);
|
1810
|
+
setTimeout(function() { selection$$1.on("click.drag", null); }, 0);
|
1811
1811
|
}
|
1812
1812
|
if ("onselectstart" in root) {
|
1813
|
-
selection.on("selectstart.drag", null);
|
1813
|
+
selection$$1.on("selectstart.drag", null);
|
1814
1814
|
} else {
|
1815
1815
|
root.style.MozUserSelect = root.__noselect;
|
1816
1816
|
delete root.__noselect;
|
@@ -1842,7 +1842,7 @@ DragEvent.prototype.on = function() {
|
|
1842
1842
|
};
|
1843
1843
|
|
1844
1844
|
// Ignore right-click, since that should open the context menu.
|
1845
|
-
function defaultFilter
|
1845
|
+
function defaultFilter() {
|
1846
1846
|
return !exports.event.button;
|
1847
1847
|
}
|
1848
1848
|
|
@@ -1859,7 +1859,7 @@ function defaultTouchable() {
|
|
1859
1859
|
}
|
1860
1860
|
|
1861
1861
|
function drag() {
|
1862
|
-
var filter = defaultFilter
|
1862
|
+
var filter = defaultFilter,
|
1863
1863
|
container = defaultContainer,
|
1864
1864
|
subject = defaultSubject,
|
1865
1865
|
touchable = defaultTouchable,
|
@@ -1872,8 +1872,8 @@ function drag() {
|
|
1872
1872
|
touchending,
|
1873
1873
|
clickDistance2 = 0;
|
1874
1874
|
|
1875
|
-
function drag(selection) {
|
1876
|
-
selection
|
1875
|
+
function drag(selection$$1) {
|
1876
|
+
selection$$1
|
1877
1877
|
.on("mousedown.drag", mousedowned)
|
1878
1878
|
.filter(touchable)
|
1879
1879
|
.on("touchstart.drag", touchstarted)
|
@@ -1914,12 +1914,12 @@ function drag() {
|
|
1914
1914
|
|
1915
1915
|
function touchstarted() {
|
1916
1916
|
if (!filter.apply(this, arguments)) return;
|
1917
|
-
var touches = exports.event.changedTouches,
|
1917
|
+
var touches$$1 = exports.event.changedTouches,
|
1918
1918
|
c = container.apply(this, arguments),
|
1919
|
-
n = touches.length, i, gesture;
|
1919
|
+
n = touches$$1.length, i, gesture;
|
1920
1920
|
|
1921
1921
|
for (i = 0; i < n; ++i) {
|
1922
|
-
if (gesture = beforestart(touches[i].identifier, c, touch, this, arguments)) {
|
1922
|
+
if (gesture = beforestart(touches$$1[i].identifier, c, touch, this, arguments)) {
|
1923
1923
|
nopropagation();
|
1924
1924
|
gesture("start");
|
1925
1925
|
}
|
@@ -1927,11 +1927,11 @@ function drag() {
|
|
1927
1927
|
}
|
1928
1928
|
|
1929
1929
|
function touchmoved() {
|
1930
|
-
var touches = exports.event.changedTouches,
|
1931
|
-
n = touches.length, i, gesture;
|
1930
|
+
var touches$$1 = exports.event.changedTouches,
|
1931
|
+
n = touches$$1.length, i, gesture;
|
1932
1932
|
|
1933
1933
|
for (i = 0; i < n; ++i) {
|
1934
|
-
if (gesture = gestures[touches[i].identifier]) {
|
1934
|
+
if (gesture = gestures[touches$$1[i].identifier]) {
|
1935
1935
|
noevent();
|
1936
1936
|
gesture("drag");
|
1937
1937
|
}
|
@@ -1939,21 +1939,21 @@ function drag() {
|
|
1939
1939
|
}
|
1940
1940
|
|
1941
1941
|
function touchended() {
|
1942
|
-
var touches = exports.event.changedTouches,
|
1943
|
-
n = touches.length, i, gesture;
|
1942
|
+
var touches$$1 = exports.event.changedTouches,
|
1943
|
+
n = touches$$1.length, i, gesture;
|
1944
1944
|
|
1945
1945
|
if (touchending) clearTimeout(touchending);
|
1946
1946
|
touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!
|
1947
1947
|
for (i = 0; i < n; ++i) {
|
1948
|
-
if (gesture = gestures[touches[i].identifier]) {
|
1948
|
+
if (gesture = gestures[touches$$1[i].identifier]) {
|
1949
1949
|
nopropagation();
|
1950
1950
|
gesture("end");
|
1951
1951
|
}
|
1952
1952
|
}
|
1953
1953
|
}
|
1954
1954
|
|
1955
|
-
function beforestart(id, container, point, that, args) {
|
1956
|
-
var p = point(container, id), s, dx, dy,
|
1955
|
+
function beforestart(id, container, point$$1, that, args) {
|
1956
|
+
var p = point$$1(container, id), s, dx, dy,
|
1957
1957
|
sublisteners = listeners.copy();
|
1958
1958
|
|
1959
1959
|
if (!customEvent(new DragEvent(drag, "beforestart", s, id, active, p[0], p[1], 0, 0, sublisteners), function() {
|
@@ -1968,7 +1968,7 @@ function drag() {
|
|
1968
1968
|
switch (type) {
|
1969
1969
|
case "start": gestures[id] = gesture, n = active++; break;
|
1970
1970
|
case "end": delete gestures[id], --active; // nobreak
|
1971
|
-
case "drag": p = point(container, id), n = active; break;
|
1971
|
+
case "drag": p = point$$1(container, id), n = active; break;
|
1972
1972
|
}
|
1973
1973
|
customEvent(new DragEvent(drag, type, s, id, n, p[0] + dx, p[1] + dy, p[0] - p0[0], p[1] - p0[1], sublisteners), sublisteners.apply, sublisteners, [type, that, args]);
|
1974
1974
|
};
|
@@ -2018,17 +2018,17 @@ function Color() {}
|
|
2018
2018
|
var darker = 0.7;
|
2019
2019
|
var brighter = 1 / darker;
|
2020
2020
|
|
2021
|
-
var reI = "\\s*([+-]?\\d+)\\s*"
|
2022
|
-
|
2023
|
-
|
2024
|
-
|
2025
|
-
|
2026
|
-
|
2027
|
-
|
2028
|
-
|
2029
|
-
|
2030
|
-
|
2031
|
-
|
2021
|
+
var reI = "\\s*([+-]?\\d+)\\s*",
|
2022
|
+
reN = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",
|
2023
|
+
reP = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",
|
2024
|
+
reHex3 = /^#([0-9a-f]{3})$/,
|
2025
|
+
reHex6 = /^#([0-9a-f]{6})$/,
|
2026
|
+
reRgbInteger = new RegExp("^rgb\\(" + [reI, reI, reI] + "\\)$"),
|
2027
|
+
reRgbPercent = new RegExp("^rgb\\(" + [reP, reP, reP] + "\\)$"),
|
2028
|
+
reRgbaInteger = new RegExp("^rgba\\(" + [reI, reI, reI, reN] + "\\)$"),
|
2029
|
+
reRgbaPercent = new RegExp("^rgba\\(" + [reP, reP, reP, reN] + "\\)$"),
|
2030
|
+
reHslPercent = new RegExp("^hsl\\(" + [reN, reP, reP] + "\\)$"),
|
2031
|
+
reHslaPercent = new RegExp("^hsla\\(" + [reN, reP, reP, reN] + "\\)$");
|
2032
2032
|
|
2033
2033
|
var named = {
|
2034
2034
|
aliceblue: 0xf0f8ff,
|
@@ -2185,6 +2185,9 @@ define(Color, color, {
|
|
2185
2185
|
displayable: function() {
|
2186
2186
|
return this.rgb().displayable();
|
2187
2187
|
},
|
2188
|
+
hex: function() {
|
2189
|
+
return this.rgb().hex();
|
2190
|
+
},
|
2188
2191
|
toString: function() {
|
2189
2192
|
return this.rgb() + "";
|
2190
2193
|
}
|
@@ -2251,6 +2254,9 @@ define(Rgb, rgb, extend(Color, {
|
|
2251
2254
|
&& (0 <= this.b && this.b <= 255)
|
2252
2255
|
&& (0 <= this.opacity && this.opacity <= 1);
|
2253
2256
|
},
|
2257
|
+
hex: function() {
|
2258
|
+
return "#" + hex(this.r) + hex(this.g) + hex(this.b);
|
2259
|
+
},
|
2254
2260
|
toString: function() {
|
2255
2261
|
var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));
|
2256
2262
|
return (a === 1 ? "rgb(" : "rgba(")
|
@@ -2261,6 +2267,11 @@ define(Rgb, rgb, extend(Color, {
|
|
2261
2267
|
}
|
2262
2268
|
}));
|
2263
2269
|
|
2270
|
+
function hex(value) {
|
2271
|
+
value = Math.max(0, Math.min(255, Math.round(value) || 0));
|
2272
|
+
return (value < 16 ? "0" : "") + value.toString(16);
|
2273
|
+
}
|
2274
|
+
|
2264
2275
|
function hsla(h, s, l, a) {
|
2265
2276
|
if (a <= 0) h = s = l = NaN;
|
2266
2277
|
else if (l <= 0 || l >= 1) h = s = NaN;
|
@@ -2345,31 +2356,39 @@ function hsl2rgb(h, m1, m2) {
|
|
2345
2356
|
var deg2rad = Math.PI / 180;
|
2346
2357
|
var rad2deg = 180 / Math.PI;
|
2347
2358
|
|
2348
|
-
|
2349
|
-
var
|
2350
|
-
|
2351
|
-
|
2352
|
-
|
2353
|
-
|
2354
|
-
|
2355
|
-
|
2359
|
+
// https://beta.observablehq.com/@mbostock/lab-and-rgb
|
2360
|
+
var K = 18,
|
2361
|
+
Xn = 0.96422,
|
2362
|
+
Yn = 1,
|
2363
|
+
Zn = 0.82521,
|
2364
|
+
t0 = 4 / 29,
|
2365
|
+
t1 = 6 / 29,
|
2366
|
+
t2 = 3 * t1 * t1,
|
2367
|
+
t3 = t1 * t1 * t1;
|
2356
2368
|
|
2357
2369
|
function labConvert(o) {
|
2358
2370
|
if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);
|
2359
2371
|
if (o instanceof Hcl) {
|
2372
|
+
if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);
|
2360
2373
|
var h = o.h * deg2rad;
|
2361
2374
|
return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);
|
2362
2375
|
}
|
2363
2376
|
if (!(o instanceof Rgb)) o = rgbConvert(o);
|
2364
|
-
var
|
2365
|
-
|
2366
|
-
|
2367
|
-
|
2368
|
-
|
2369
|
-
|
2377
|
+
var r = rgb2lrgb(o.r),
|
2378
|
+
g = rgb2lrgb(o.g),
|
2379
|
+
b = rgb2lrgb(o.b),
|
2380
|
+
y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;
|
2381
|
+
if (r === g && g === b) x = z = y; else {
|
2382
|
+
x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);
|
2383
|
+
z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);
|
2384
|
+
}
|
2370
2385
|
return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);
|
2371
2386
|
}
|
2372
2387
|
|
2388
|
+
function gray(l, opacity) {
|
2389
|
+
return new Lab(l, 0, 0, opacity == null ? 1 : opacity);
|
2390
|
+
}
|
2391
|
+
|
2373
2392
|
function lab(l, a, b, opacity) {
|
2374
2393
|
return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);
|
2375
2394
|
}
|
@@ -2383,22 +2402,22 @@ function Lab(l, a, b, opacity) {
|
|
2383
2402
|
|
2384
2403
|
define(Lab, lab, extend(Color, {
|
2385
2404
|
brighter: function(k) {
|
2386
|
-
return new Lab(this.l +
|
2405
|
+
return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);
|
2387
2406
|
},
|
2388
2407
|
darker: function(k) {
|
2389
|
-
return new Lab(this.l -
|
2408
|
+
return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);
|
2390
2409
|
},
|
2391
2410
|
rgb: function() {
|
2392
2411
|
var y = (this.l + 16) / 116,
|
2393
2412
|
x = isNaN(this.a) ? y : y + this.a / 500,
|
2394
2413
|
z = isNaN(this.b) ? y : y - this.b / 200;
|
2395
|
-
y = Yn * lab2xyz(y);
|
2396
2414
|
x = Xn * lab2xyz(x);
|
2415
|
+
y = Yn * lab2xyz(y);
|
2397
2416
|
z = Zn * lab2xyz(z);
|
2398
2417
|
return new Rgb(
|
2399
|
-
|
2400
|
-
|
2401
|
-
|
2418
|
+
lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z),
|
2419
|
+
lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z),
|
2420
|
+
lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z),
|
2402
2421
|
this.opacity
|
2403
2422
|
);
|
2404
2423
|
}
|
@@ -2412,21 +2431,26 @@ function lab2xyz(t) {
|
|
2412
2431
|
return t > t1 ? t * t * t : t2 * (t - t0);
|
2413
2432
|
}
|
2414
2433
|
|
2415
|
-
function
|
2434
|
+
function lrgb2rgb(x) {
|
2416
2435
|
return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);
|
2417
2436
|
}
|
2418
2437
|
|
2419
|
-
function
|
2438
|
+
function rgb2lrgb(x) {
|
2420
2439
|
return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);
|
2421
2440
|
}
|
2422
2441
|
|
2423
2442
|
function hclConvert(o) {
|
2424
2443
|
if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);
|
2425
2444
|
if (!(o instanceof Lab)) o = labConvert(o);
|
2445
|
+
if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0, o.l, o.opacity);
|
2426
2446
|
var h = Math.atan2(o.b, o.a) * rad2deg;
|
2427
2447
|
return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);
|
2428
2448
|
}
|
2429
2449
|
|
2450
|
+
function lch(l, c, h, opacity) {
|
2451
|
+
return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);
|
2452
|
+
}
|
2453
|
+
|
2430
2454
|
function hcl(h, c, l, opacity) {
|
2431
2455
|
return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);
|
2432
2456
|
}
|
@@ -2440,24 +2464,24 @@ function Hcl(h, c, l, opacity) {
|
|
2440
2464
|
|
2441
2465
|
define(Hcl, hcl, extend(Color, {
|
2442
2466
|
brighter: function(k) {
|
2443
|
-
return new Hcl(this.h, this.c, this.l +
|
2467
|
+
return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);
|
2444
2468
|
},
|
2445
2469
|
darker: function(k) {
|
2446
|
-
return new Hcl(this.h, this.c, this.l -
|
2470
|
+
return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);
|
2447
2471
|
},
|
2448
2472
|
rgb: function() {
|
2449
2473
|
return labConvert(this).rgb();
|
2450
2474
|
}
|
2451
2475
|
}));
|
2452
2476
|
|
2453
|
-
var A = -0.14861
|
2454
|
-
|
2455
|
-
|
2456
|
-
|
2457
|
-
|
2458
|
-
|
2459
|
-
|
2460
|
-
|
2477
|
+
var A = -0.14861,
|
2478
|
+
B = +1.78277,
|
2479
|
+
C = -0.29227,
|
2480
|
+
D = -0.90649,
|
2481
|
+
E = +1.97294,
|
2482
|
+
ED = E * D,
|
2483
|
+
EB = E * B,
|
2484
|
+
BC_DA = B * C - D * A;
|
2461
2485
|
|
2462
2486
|
function cubehelixConvert(o) {
|
2463
2487
|
if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);
|
@@ -2676,8 +2700,8 @@ function object(a, b) {
|
|
2676
2700
|
};
|
2677
2701
|
}
|
2678
2702
|
|
2679
|
-
var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g
|
2680
|
-
|
2703
|
+
var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,
|
2704
|
+
reB = new RegExp(reA.source, "g");
|
2681
2705
|
|
2682
2706
|
function zero(b) {
|
2683
2707
|
return function() {
|
@@ -2784,10 +2808,10 @@ function decompose(a, b, c, d, e, f) {
|
|
2784
2808
|
};
|
2785
2809
|
}
|
2786
2810
|
|
2787
|
-
var cssNode
|
2788
|
-
|
2789
|
-
|
2790
|
-
|
2811
|
+
var cssNode,
|
2812
|
+
cssRoot,
|
2813
|
+
cssView,
|
2814
|
+
svgNode;
|
2791
2815
|
|
2792
2816
|
function parseCss(value) {
|
2793
2817
|
if (value === "none") return identity$2;
|
@@ -2869,10 +2893,10 @@ function interpolateTransform(parse, pxComma, pxParen, degParen) {
|
|
2869
2893
|
var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)");
|
2870
2894
|
var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")");
|
2871
2895
|
|
2872
|
-
var rho = Math.SQRT2
|
2873
|
-
|
2874
|
-
|
2875
|
-
|
2896
|
+
var rho = Math.SQRT2,
|
2897
|
+
rho2 = 2,
|
2898
|
+
rho4 = 4,
|
2899
|
+
epsilon2 = 1e-12;
|
2876
2900
|
|
2877
2901
|
function cosh(x) {
|
2878
2902
|
return ((x = Math.exp(x)) + 1 / x) / 2;
|
@@ -3013,23 +3037,32 @@ function cubehelix$1(hue$$1) {
|
|
3013
3037
|
var cubehelix$2 = cubehelix$1(hue);
|
3014
3038
|
var cubehelixLong = cubehelix$1(nogamma);
|
3015
3039
|
|
3040
|
+
function piecewise(interpolate, values) {
|
3041
|
+
var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);
|
3042
|
+
while (i < n) I[i] = interpolate(v, v = values[++i]);
|
3043
|
+
return function(t) {
|
3044
|
+
var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));
|
3045
|
+
return I[i](t - i);
|
3046
|
+
};
|
3047
|
+
}
|
3048
|
+
|
3016
3049
|
function quantize(interpolator, n) {
|
3017
3050
|
var samples = new Array(n);
|
3018
3051
|
for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1));
|
3019
3052
|
return samples;
|
3020
3053
|
}
|
3021
3054
|
|
3022
|
-
var frame = 0
|
3023
|
-
|
3024
|
-
|
3025
|
-
|
3026
|
-
|
3027
|
-
|
3028
|
-
|
3029
|
-
|
3030
|
-
|
3031
|
-
|
3032
|
-
|
3055
|
+
var frame = 0, // is an animation frame pending?
|
3056
|
+
timeout = 0, // is a timeout pending?
|
3057
|
+
interval = 0, // are any timers active?
|
3058
|
+
pokeDelay = 1000, // how frequently we check for clock skew
|
3059
|
+
taskHead,
|
3060
|
+
taskTail,
|
3061
|
+
clockLast = 0,
|
3062
|
+
clockNow = 0,
|
3063
|
+
clockSkew = 0,
|
3064
|
+
clock = typeof performance === "object" && performance.now ? performance : Date,
|
3065
|
+
setFrame = typeof window === "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };
|
3033
3066
|
|
3034
3067
|
function now() {
|
3035
3068
|
return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);
|
@@ -3657,15 +3690,15 @@ function transition_remove() {
|
|
3657
3690
|
return this.on("end.remove", removeFunction(this._id));
|
3658
3691
|
}
|
3659
3692
|
|
3660
|
-
function transition_select(select) {
|
3693
|
+
function transition_select(select$$1) {
|
3661
3694
|
var name = this._name,
|
3662
3695
|
id = this._id;
|
3663
3696
|
|
3664
|
-
if (typeof select !== "function") select = selector(select);
|
3697
|
+
if (typeof select$$1 !== "function") select$$1 = selector(select$$1);
|
3665
3698
|
|
3666
3699
|
for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
|
3667
3700
|
for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
|
3668
|
-
if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {
|
3701
|
+
if ((node = group[i]) && (subnode = select$$1.call(node, node.__data__, i, group))) {
|
3669
3702
|
if ("__data__" in node) subnode.__data__ = node.__data__;
|
3670
3703
|
subgroup[i] = subnode;
|
3671
3704
|
schedule(subgroup[i], name, id, i, subgroup, get$1(node, id));
|
@@ -3676,16 +3709,16 @@ function transition_select(select) {
|
|
3676
3709
|
return new Transition(subgroups, this._parents, name, id);
|
3677
3710
|
}
|
3678
3711
|
|
3679
|
-
function transition_selectAll(select) {
|
3712
|
+
function transition_selectAll(select$$1) {
|
3680
3713
|
var name = this._name,
|
3681
3714
|
id = this._id;
|
3682
3715
|
|
3683
|
-
if (typeof select !== "function") select = selectorAll(select);
|
3716
|
+
if (typeof select$$1 !== "function") select$$1 = selectorAll(select$$1);
|
3684
3717
|
|
3685
3718
|
for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
|
3686
3719
|
for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
|
3687
3720
|
if (node = group[i]) {
|
3688
|
-
for (var children = select.call(node, node.__data__, i, group), child, inherit = get$1(node, id), k = 0, l = children.length; k < l; ++k) {
|
3721
|
+
for (var children = select$$1.call(node, node.__data__, i, group), child, inherit = get$1(node, id), k = 0, l = children.length; k < l; ++k) {
|
3689
3722
|
if (child = children[k]) {
|
3690
3723
|
schedule(child, name, id, k, children, inherit);
|
3691
3724
|
}
|
@@ -3931,8 +3964,8 @@ var polyInOut = (function custom(e) {
|
|
3931
3964
|
return polyInOut;
|
3932
3965
|
})(exponent);
|
3933
3966
|
|
3934
|
-
var pi = Math.PI
|
3935
|
-
|
3967
|
+
var pi = Math.PI,
|
3968
|
+
halfPi = pi / 2;
|
3936
3969
|
|
3937
3970
|
function sinIn(t) {
|
3938
3971
|
return 1 - Math.cos(t * halfPi);
|
@@ -3970,16 +4003,16 @@ function circleInOut(t) {
|
|
3970
4003
|
return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;
|
3971
4004
|
}
|
3972
4005
|
|
3973
|
-
var b1 = 4 / 11
|
3974
|
-
|
3975
|
-
|
3976
|
-
|
3977
|
-
|
3978
|
-
|
3979
|
-
|
3980
|
-
|
3981
|
-
|
3982
|
-
|
4006
|
+
var b1 = 4 / 11,
|
4007
|
+
b2 = 6 / 11,
|
4008
|
+
b3 = 8 / 11,
|
4009
|
+
b4 = 3 / 4,
|
4010
|
+
b5 = 9 / 11,
|
4011
|
+
b6 = 10 / 11,
|
4012
|
+
b7 = 15 / 16,
|
4013
|
+
b8 = 21 / 22,
|
4014
|
+
b9 = 63 / 64,
|
4015
|
+
b0 = 1 / b1 / b1;
|
3983
4016
|
|
3984
4017
|
function bounceIn(t) {
|
3985
4018
|
return 1 - bounceOut(1 - t);
|
@@ -4031,9 +4064,9 @@ var backInOut = (function custom(s) {
|
|
4031
4064
|
return backInOut;
|
4032
4065
|
})(overshoot);
|
4033
4066
|
|
4034
|
-
var tau = 2 * Math.PI
|
4035
|
-
|
4036
|
-
|
4067
|
+
var tau = 2 * Math.PI,
|
4068
|
+
amplitude = 1,
|
4069
|
+
period = 0.3;
|
4037
4070
|
|
4038
4071
|
var elasticIn = (function custom(a, p) {
|
4039
4072
|
var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);
|
@@ -4157,10 +4190,10 @@ function noevent$1() {
|
|
4157
4190
|
exports.event.stopImmediatePropagation();
|
4158
4191
|
}
|
4159
4192
|
|
4160
|
-
var MODE_DRAG = {name: "drag"}
|
4161
|
-
|
4162
|
-
|
4163
|
-
|
4193
|
+
var MODE_DRAG = {name: "drag"},
|
4194
|
+
MODE_SPACE = {name: "space"},
|
4195
|
+
MODE_HANDLE = {name: "handle"},
|
4196
|
+
MODE_CENTER = {name: "center"};
|
4164
4197
|
|
4165
4198
|
var X = {
|
4166
4199
|
name: "x",
|
@@ -4245,7 +4278,7 @@ function type(t) {
|
|
4245
4278
|
}
|
4246
4279
|
|
4247
4280
|
// Ignore right-click, since that should open the context menu.
|
4248
|
-
function defaultFilter() {
|
4281
|
+
function defaultFilter$1() {
|
4249
4282
|
return !exports.event.button;
|
4250
4283
|
}
|
4251
4284
|
|
@@ -4255,12 +4288,12 @@ function defaultExtent() {
|
|
4255
4288
|
}
|
4256
4289
|
|
4257
4290
|
// Like d3.local, but with the name “__brush” rather than auto-generated.
|
4258
|
-
function local(node) {
|
4291
|
+
function local$1(node) {
|
4259
4292
|
while (!node.__brush) if (!(node = node.parentNode)) return;
|
4260
4293
|
return node.__brush;
|
4261
4294
|
}
|
4262
4295
|
|
4263
|
-
function empty(extent) {
|
4296
|
+
function empty$1(extent) {
|
4264
4297
|
return extent[0][0] === extent[1][0]
|
4265
4298
|
|| extent[0][1] === extent[1][1];
|
4266
4299
|
}
|
@@ -4284,7 +4317,7 @@ function brush() {
|
|
4284
4317
|
|
4285
4318
|
function brush$1(dim) {
|
4286
4319
|
var extent = defaultExtent,
|
4287
|
-
filter = defaultFilter,
|
4320
|
+
filter = defaultFilter$1,
|
4288
4321
|
listeners = dispatch(brush, "start", "brush", "end"),
|
4289
4322
|
handleSize = 6,
|
4290
4323
|
touchending;
|
@@ -4301,7 +4334,7 @@ function brush$1(dim) {
|
|
4301
4334
|
.attr("cursor", cursors.overlay)
|
4302
4335
|
.merge(overlay)
|
4303
4336
|
.each(function() {
|
4304
|
-
var extent = local(this).extent;
|
4337
|
+
var extent = local$1(this).extent;
|
4305
4338
|
select(this)
|
4306
4339
|
.attr("x", extent[0][0])
|
4307
4340
|
.attr("y", extent[0][1])
|
@@ -4336,7 +4369,7 @@ function brush$1(dim) {
|
|
4336
4369
|
.on("mousedown.brush touchstart.brush", started);
|
4337
4370
|
}
|
4338
4371
|
|
4339
|
-
brush.move = function(group, selection) {
|
4372
|
+
brush.move = function(group, selection$$1) {
|
4340
4373
|
if (group.selection) {
|
4341
4374
|
group
|
4342
4375
|
.on("start.brush", function() { emitter(this, arguments).beforestart().start(); })
|
@@ -4346,11 +4379,11 @@ function brush$1(dim) {
|
|
4346
4379
|
state = that.__brush,
|
4347
4380
|
emit = emitter(that, arguments),
|
4348
4381
|
selection0 = state.selection,
|
4349
|
-
selection1 = dim.input(typeof selection === "function" ? selection.apply(this, arguments) : selection, state.extent),
|
4382
|
+
selection1 = dim.input(typeof selection$$1 === "function" ? selection$$1.apply(this, arguments) : selection$$1, state.extent),
|
4350
4383
|
i = interpolateValue(selection0, selection1);
|
4351
4384
|
|
4352
4385
|
function tween(t) {
|
4353
|
-
state.selection = t === 1 && empty(selection1) ? null : i(t);
|
4386
|
+
state.selection = t === 1 && empty$1(selection1) ? null : i(t);
|
4354
4387
|
redraw.call(that);
|
4355
4388
|
emit.brush();
|
4356
4389
|
}
|
@@ -4363,11 +4396,11 @@ function brush$1(dim) {
|
|
4363
4396
|
var that = this,
|
4364
4397
|
args = arguments,
|
4365
4398
|
state = that.__brush,
|
4366
|
-
selection1 = dim.input(typeof selection === "function" ? selection.apply(that, args) : selection, state.extent),
|
4399
|
+
selection1 = dim.input(typeof selection$$1 === "function" ? selection$$1.apply(that, args) : selection$$1, state.extent),
|
4367
4400
|
emit = emitter(that, args).beforestart();
|
4368
4401
|
|
4369
4402
|
interrupt(that);
|
4370
|
-
state.selection = selection1 == null || empty(selection1) ? null : selection1;
|
4403
|
+
state.selection = selection1 == null || empty$1(selection1) ? null : selection1;
|
4371
4404
|
redraw.call(that);
|
4372
4405
|
emit.start().brush().end();
|
4373
4406
|
});
|
@@ -4376,22 +4409,22 @@ function brush$1(dim) {
|
|
4376
4409
|
|
4377
4410
|
function redraw() {
|
4378
4411
|
var group = select(this),
|
4379
|
-
selection = local(this).selection;
|
4412
|
+
selection$$1 = local$1(this).selection;
|
4380
4413
|
|
4381
|
-
if (selection) {
|
4414
|
+
if (selection$$1) {
|
4382
4415
|
group.selectAll(".selection")
|
4383
4416
|
.style("display", null)
|
4384
|
-
.attr("x", selection[0][0])
|
4385
|
-
.attr("y", selection[0][1])
|
4386
|
-
.attr("width", selection[1][0] - selection[0][0])
|
4387
|
-
.attr("height", selection[1][1] - selection[0][1]);
|
4417
|
+
.attr("x", selection$$1[0][0])
|
4418
|
+
.attr("y", selection$$1[0][1])
|
4419
|
+
.attr("width", selection$$1[1][0] - selection$$1[0][0])
|
4420
|
+
.attr("height", selection$$1[1][1] - selection$$1[0][1]);
|
4388
4421
|
|
4389
4422
|
group.selectAll(".handle")
|
4390
4423
|
.style("display", null)
|
4391
|
-
.attr("x", function(d) { return d.type[d.type.length - 1] === "e" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })
|
4392
|
-
.attr("y", function(d) { return d.type[0] === "s" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })
|
4393
|
-
.attr("width", function(d) { return d.type === "n" || d.type === "s" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })
|
4394
|
-
.attr("height", function(d) { return d.type === "e" || d.type === "w" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });
|
4424
|
+
.attr("x", function(d) { return d.type[d.type.length - 1] === "e" ? selection$$1[1][0] - handleSize / 2 : selection$$1[0][0] - handleSize / 2; })
|
4425
|
+
.attr("y", function(d) { return d.type[0] === "s" ? selection$$1[1][1] - handleSize / 2 : selection$$1[0][1] - handleSize / 2; })
|
4426
|
+
.attr("width", function(d) { return d.type === "n" || d.type === "s" ? selection$$1[1][0] - selection$$1[0][0] + handleSize : handleSize; })
|
4427
|
+
.attr("height", function(d) { return d.type === "e" || d.type === "w" ? selection$$1[1][1] - selection$$1[0][1] + handleSize : handleSize; });
|
4395
4428
|
}
|
4396
4429
|
|
4397
4430
|
else {
|
@@ -4447,9 +4480,9 @@ function brush$1(dim) {
|
|
4447
4480
|
mode = (exports.event.metaKey ? type = "overlay" : type) === "selection" ? MODE_DRAG : (exports.event.altKey ? MODE_CENTER : MODE_HANDLE),
|
4448
4481
|
signX = dim === Y ? null : signsX[type],
|
4449
4482
|
signY = dim === X ? null : signsY[type],
|
4450
|
-
state = local(that),
|
4483
|
+
state = local$1(that),
|
4451
4484
|
extent = state.extent,
|
4452
|
-
selection = state.selection,
|
4485
|
+
selection$$1 = state.selection,
|
4453
4486
|
W = extent[0][0], w0, w1,
|
4454
4487
|
N = extent[0][1], n0, n1,
|
4455
4488
|
E = extent[1][0], e0, e1,
|
@@ -4461,19 +4494,19 @@ function brush$1(dim) {
|
|
4461
4494
|
lockX,
|
4462
4495
|
lockY,
|
4463
4496
|
point0 = mouse(that),
|
4464
|
-
point = point0,
|
4497
|
+
point$$1 = point0,
|
4465
4498
|
emit = emitter(that, arguments).beforestart();
|
4466
4499
|
|
4467
4500
|
if (type === "overlay") {
|
4468
|
-
state.selection = selection = [
|
4501
|
+
state.selection = selection$$1 = [
|
4469
4502
|
[w0 = dim === Y ? W : point0[0], n0 = dim === X ? N : point0[1]],
|
4470
4503
|
[e0 = dim === Y ? E : w0, s0 = dim === X ? S : n0]
|
4471
4504
|
];
|
4472
4505
|
} else {
|
4473
|
-
w0 = selection[0][0];
|
4474
|
-
n0 = selection[0][1];
|
4475
|
-
e0 = selection[1][0];
|
4476
|
-
s0 = selection[1][1];
|
4506
|
+
w0 = selection$$1[0][0];
|
4507
|
+
n0 = selection$$1[0][1];
|
4508
|
+
e0 = selection$$1[1][0];
|
4509
|
+
s0 = selection$$1[1][1];
|
4477
4510
|
}
|
4478
4511
|
|
4479
4512
|
w1 = w0;
|
@@ -4509,10 +4542,10 @@ function brush$1(dim) {
|
|
4509
4542
|
function moved() {
|
4510
4543
|
var point1 = mouse(that);
|
4511
4544
|
if (shifting && !lockX && !lockY) {
|
4512
|
-
if (Math.abs(point1[0] - point[0]) > Math.abs(point1[1] - point[1])) lockY = true;
|
4545
|
+
if (Math.abs(point1[0] - point$$1[0]) > Math.abs(point1[1] - point$$1[1])) lockY = true;
|
4513
4546
|
else lockX = true;
|
4514
4547
|
}
|
4515
|
-
point = point1;
|
4548
|
+
point$$1 = point1;
|
4516
4549
|
moving = true;
|
4517
4550
|
noevent$1();
|
4518
4551
|
move();
|
@@ -4521,8 +4554,8 @@ function brush$1(dim) {
|
|
4521
4554
|
function move() {
|
4522
4555
|
var t;
|
4523
4556
|
|
4524
|
-
dx = point[0] - point0[0];
|
4525
|
-
dy = point[1] - point0[1];
|
4557
|
+
dx = point$$1[0] - point0[0];
|
4558
|
+
dy = point$$1[1] - point0[1];
|
4526
4559
|
|
4527
4560
|
switch (mode) {
|
4528
4561
|
case MODE_SPACE:
|
@@ -4559,14 +4592,14 @@ function brush$1(dim) {
|
|
4559
4592
|
if (type in flipY) overlay.attr("cursor", cursors[type = flipY[type]]);
|
4560
4593
|
}
|
4561
4594
|
|
4562
|
-
if (state.selection) selection = state.selection; // May be set by brush.move!
|
4563
|
-
if (lockX) w1 = selection[0][0], e1 = selection[1][0];
|
4564
|
-
if (lockY) n1 = selection[0][1], s1 = selection[1][1];
|
4595
|
+
if (state.selection) selection$$1 = state.selection; // May be set by brush.move!
|
4596
|
+
if (lockX) w1 = selection$$1[0][0], e1 = selection$$1[1][0];
|
4597
|
+
if (lockY) n1 = selection$$1[0][1], s1 = selection$$1[1][1];
|
4565
4598
|
|
4566
|
-
if (selection[0][0] !== w1
|
4567
|
-
|| selection[0][1] !== n1
|
4568
|
-
|| selection[1][0] !== e1
|
4569
|
-
|| selection[1][1] !== s1) {
|
4599
|
+
if (selection$$1[0][0] !== w1
|
4600
|
+
|| selection$$1[0][1] !== n1
|
4601
|
+
|| selection$$1[1][0] !== e1
|
4602
|
+
|| selection$$1[1][1] !== s1) {
|
4570
4603
|
state.selection = [[w1, n1], [e1, s1]];
|
4571
4604
|
redraw.call(that);
|
4572
4605
|
emit.brush();
|
@@ -4586,8 +4619,8 @@ function brush$1(dim) {
|
|
4586
4619
|
}
|
4587
4620
|
group.attr("pointer-events", "all");
|
4588
4621
|
overlay.attr("cursor", cursors.overlay);
|
4589
|
-
if (state.selection) selection = state.selection; // May be set by brush.move (on start)!
|
4590
|
-
if (empty(selection)) state.selection = null, redraw.call(that);
|
4622
|
+
if (state.selection) selection$$1 = state.selection; // May be set by brush.move (on start)!
|
4623
|
+
if (empty$1(selection$$1)) state.selection = null, redraw.call(that);
|
4591
4624
|
emit.end();
|
4592
4625
|
}
|
4593
4626
|
|
@@ -4822,10 +4855,10 @@ function constant$5(x) {
|
|
4822
4855
|
};
|
4823
4856
|
}
|
4824
4857
|
|
4825
|
-
var pi$2 = Math.PI
|
4826
|
-
|
4827
|
-
|
4828
|
-
|
4858
|
+
var pi$2 = Math.PI,
|
4859
|
+
tau$2 = 2 * pi$2,
|
4860
|
+
epsilon$1 = 1e-6,
|
4861
|
+
tauEpsilon = tau$2 - epsilon$1;
|
4829
4862
|
|
4830
4863
|
function Path() {
|
4831
4864
|
this._x0 = this._y0 = // start of current subpath
|
@@ -5234,11 +5267,419 @@ function entries(map) {
|
|
5234
5267
|
return entries;
|
5235
5268
|
}
|
5236
5269
|
|
5237
|
-
var
|
5238
|
-
|
5239
|
-
var
|
5240
|
-
|
5241
|
-
|
5270
|
+
var array$2 = Array.prototype;
|
5271
|
+
|
5272
|
+
var slice$3 = array$2.slice;
|
5273
|
+
|
5274
|
+
function ascending$2(a, b) {
|
5275
|
+
return a - b;
|
5276
|
+
}
|
5277
|
+
|
5278
|
+
function area(ring) {
|
5279
|
+
var i = 0, n = ring.length, area = ring[n - 1][1] * ring[0][0] - ring[n - 1][0] * ring[0][1];
|
5280
|
+
while (++i < n) area += ring[i - 1][1] * ring[i][0] - ring[i - 1][0] * ring[i][1];
|
5281
|
+
return area;
|
5282
|
+
}
|
5283
|
+
|
5284
|
+
function constant$6(x) {
|
5285
|
+
return function() {
|
5286
|
+
return x;
|
5287
|
+
};
|
5288
|
+
}
|
5289
|
+
|
5290
|
+
function contains(ring, hole) {
|
5291
|
+
var i = -1, n = hole.length, c;
|
5292
|
+
while (++i < n) if (c = ringContains(ring, hole[i])) return c;
|
5293
|
+
return 0;
|
5294
|
+
}
|
5295
|
+
|
5296
|
+
function ringContains(ring, point) {
|
5297
|
+
var x = point[0], y = point[1], contains = -1;
|
5298
|
+
for (var i = 0, n = ring.length, j = n - 1; i < n; j = i++) {
|
5299
|
+
var pi = ring[i], xi = pi[0], yi = pi[1], pj = ring[j], xj = pj[0], yj = pj[1];
|
5300
|
+
if (segmentContains(pi, pj, point)) return 0;
|
5301
|
+
if (((yi > y) !== (yj > y)) && ((x < (xj - xi) * (y - yi) / (yj - yi) + xi))) contains = -contains;
|
5302
|
+
}
|
5303
|
+
return contains;
|
5304
|
+
}
|
5305
|
+
|
5306
|
+
function segmentContains(a, b, c) {
|
5307
|
+
var i; return collinear(a, b, c) && within(a[i = +(a[0] === b[0])], c[i], b[i]);
|
5308
|
+
}
|
5309
|
+
|
5310
|
+
function collinear(a, b, c) {
|
5311
|
+
return (b[0] - a[0]) * (c[1] - a[1]) === (c[0] - a[0]) * (b[1] - a[1]);
|
5312
|
+
}
|
5313
|
+
|
5314
|
+
function within(p, q, r) {
|
5315
|
+
return p <= q && q <= r || r <= q && q <= p;
|
5316
|
+
}
|
5317
|
+
|
5318
|
+
function noop$1() {}
|
5319
|
+
|
5320
|
+
var cases = [
|
5321
|
+
[],
|
5322
|
+
[[[1.0, 1.5], [0.5, 1.0]]],
|
5323
|
+
[[[1.5, 1.0], [1.0, 1.5]]],
|
5324
|
+
[[[1.5, 1.0], [0.5, 1.0]]],
|
5325
|
+
[[[1.0, 0.5], [1.5, 1.0]]],
|
5326
|
+
[[[1.0, 1.5], [0.5, 1.0]], [[1.0, 0.5], [1.5, 1.0]]],
|
5327
|
+
[[[1.0, 0.5], [1.0, 1.5]]],
|
5328
|
+
[[[1.0, 0.5], [0.5, 1.0]]],
|
5329
|
+
[[[0.5, 1.0], [1.0, 0.5]]],
|
5330
|
+
[[[1.0, 1.5], [1.0, 0.5]]],
|
5331
|
+
[[[0.5, 1.0], [1.0, 0.5]], [[1.5, 1.0], [1.0, 1.5]]],
|
5332
|
+
[[[1.5, 1.0], [1.0, 0.5]]],
|
5333
|
+
[[[0.5, 1.0], [1.5, 1.0]]],
|
5334
|
+
[[[1.0, 1.5], [1.5, 1.0]]],
|
5335
|
+
[[[0.5, 1.0], [1.0, 1.5]]],
|
5336
|
+
[]
|
5337
|
+
];
|
5338
|
+
|
5339
|
+
function contours() {
|
5340
|
+
var dx = 1,
|
5341
|
+
dy = 1,
|
5342
|
+
threshold$$1 = thresholdSturges,
|
5343
|
+
smooth = smoothLinear;
|
5344
|
+
|
5345
|
+
function contours(values) {
|
5346
|
+
var tz = threshold$$1(values);
|
5347
|
+
|
5348
|
+
// Convert number of thresholds into uniform thresholds.
|
5349
|
+
if (!Array.isArray(tz)) {
|
5350
|
+
var domain = extent(values), start = domain[0], stop = domain[1];
|
5351
|
+
tz = tickStep(start, stop, tz);
|
5352
|
+
tz = sequence(Math.floor(start / tz) * tz, Math.floor(stop / tz) * tz, tz);
|
5353
|
+
} else {
|
5354
|
+
tz = tz.slice().sort(ascending$2);
|
5355
|
+
}
|
5356
|
+
|
5357
|
+
return tz.map(function(value) {
|
5358
|
+
return contour(values, value);
|
5359
|
+
});
|
5360
|
+
}
|
5361
|
+
|
5362
|
+
// Accumulate, smooth contour rings, assign holes to exterior rings.
|
5363
|
+
// Based on https://github.com/mbostock/shapefile/blob/v0.6.2/shp/polygon.js
|
5364
|
+
function contour(values, value) {
|
5365
|
+
var polygons = [],
|
5366
|
+
holes = [];
|
5367
|
+
|
5368
|
+
isorings(values, value, function(ring) {
|
5369
|
+
smooth(ring, values, value);
|
5370
|
+
if (area(ring) > 0) polygons.push([ring]);
|
5371
|
+
else holes.push(ring);
|
5372
|
+
});
|
5373
|
+
|
5374
|
+
holes.forEach(function(hole) {
|
5375
|
+
for (var i = 0, n = polygons.length, polygon; i < n; ++i) {
|
5376
|
+
if (contains((polygon = polygons[i])[0], hole) !== -1) {
|
5377
|
+
polygon.push(hole);
|
5378
|
+
return;
|
5379
|
+
}
|
5380
|
+
}
|
5381
|
+
});
|
5382
|
+
|
5383
|
+
return {
|
5384
|
+
type: "MultiPolygon",
|
5385
|
+
value: value,
|
5386
|
+
coordinates: polygons
|
5387
|
+
};
|
5388
|
+
}
|
5389
|
+
|
5390
|
+
// Marching squares with isolines stitched into rings.
|
5391
|
+
// Based on https://github.com/topojson/topojson-client/blob/v3.0.0/src/stitch.js
|
5392
|
+
function isorings(values, value, callback) {
|
5393
|
+
var fragmentByStart = new Array,
|
5394
|
+
fragmentByEnd = new Array,
|
5395
|
+
x, y, t0, t1, t2, t3;
|
5396
|
+
|
5397
|
+
// Special case for the first row (y = -1, t2 = t3 = 0).
|
5398
|
+
x = y = -1;
|
5399
|
+
t1 = values[0] >= value;
|
5400
|
+
cases[t1 << 1].forEach(stitch);
|
5401
|
+
while (++x < dx - 1) {
|
5402
|
+
t0 = t1, t1 = values[x + 1] >= value;
|
5403
|
+
cases[t0 | t1 << 1].forEach(stitch);
|
5404
|
+
}
|
5405
|
+
cases[t1 << 0].forEach(stitch);
|
5406
|
+
|
5407
|
+
// General case for the intermediate rows.
|
5408
|
+
while (++y < dy - 1) {
|
5409
|
+
x = -1;
|
5410
|
+
t1 = values[y * dx + dx] >= value;
|
5411
|
+
t2 = values[y * dx] >= value;
|
5412
|
+
cases[t1 << 1 | t2 << 2].forEach(stitch);
|
5413
|
+
while (++x < dx - 1) {
|
5414
|
+
t0 = t1, t1 = values[y * dx + dx + x + 1] >= value;
|
5415
|
+
t3 = t2, t2 = values[y * dx + x + 1] >= value;
|
5416
|
+
cases[t0 | t1 << 1 | t2 << 2 | t3 << 3].forEach(stitch);
|
5417
|
+
}
|
5418
|
+
cases[t1 | t2 << 3].forEach(stitch);
|
5419
|
+
}
|
5420
|
+
|
5421
|
+
// Special case for the last row (y = dy - 1, t0 = t1 = 0).
|
5422
|
+
x = -1;
|
5423
|
+
t2 = values[y * dx] >= value;
|
5424
|
+
cases[t2 << 2].forEach(stitch);
|
5425
|
+
while (++x < dx - 1) {
|
5426
|
+
t3 = t2, t2 = values[y * dx + x + 1] >= value;
|
5427
|
+
cases[t2 << 2 | t3 << 3].forEach(stitch);
|
5428
|
+
}
|
5429
|
+
cases[t2 << 3].forEach(stitch);
|
5430
|
+
|
5431
|
+
function stitch(line) {
|
5432
|
+
var start = [line[0][0] + x, line[0][1] + y],
|
5433
|
+
end = [line[1][0] + x, line[1][1] + y],
|
5434
|
+
startIndex = index(start),
|
5435
|
+
endIndex = index(end),
|
5436
|
+
f, g;
|
5437
|
+
if (f = fragmentByEnd[startIndex]) {
|
5438
|
+
if (g = fragmentByStart[endIndex]) {
|
5439
|
+
delete fragmentByEnd[f.end];
|
5440
|
+
delete fragmentByStart[g.start];
|
5441
|
+
if (f === g) {
|
5442
|
+
f.ring.push(end);
|
5443
|
+
callback(f.ring);
|
5444
|
+
} else {
|
5445
|
+
fragmentByStart[f.start] = fragmentByEnd[g.end] = {start: f.start, end: g.end, ring: f.ring.concat(g.ring)};
|
5446
|
+
}
|
5447
|
+
} else {
|
5448
|
+
delete fragmentByEnd[f.end];
|
5449
|
+
f.ring.push(end);
|
5450
|
+
fragmentByEnd[f.end = endIndex] = f;
|
5451
|
+
}
|
5452
|
+
} else if (f = fragmentByStart[endIndex]) {
|
5453
|
+
if (g = fragmentByEnd[startIndex]) {
|
5454
|
+
delete fragmentByStart[f.start];
|
5455
|
+
delete fragmentByEnd[g.end];
|
5456
|
+
if (f === g) {
|
5457
|
+
f.ring.push(end);
|
5458
|
+
callback(f.ring);
|
5459
|
+
} else {
|
5460
|
+
fragmentByStart[g.start] = fragmentByEnd[f.end] = {start: g.start, end: f.end, ring: g.ring.concat(f.ring)};
|
5461
|
+
}
|
5462
|
+
} else {
|
5463
|
+
delete fragmentByStart[f.start];
|
5464
|
+
f.ring.unshift(start);
|
5465
|
+
fragmentByStart[f.start = startIndex] = f;
|
5466
|
+
}
|
5467
|
+
} else {
|
5468
|
+
fragmentByStart[startIndex] = fragmentByEnd[endIndex] = {start: startIndex, end: endIndex, ring: [start, end]};
|
5469
|
+
}
|
5470
|
+
}
|
5471
|
+
}
|
5472
|
+
|
5473
|
+
function index(point) {
|
5474
|
+
return point[0] * 2 + point[1] * (dx + 1) * 4;
|
5475
|
+
}
|
5476
|
+
|
5477
|
+
function smoothLinear(ring, values, value) {
|
5478
|
+
ring.forEach(function(point) {
|
5479
|
+
var x = point[0],
|
5480
|
+
y = point[1],
|
5481
|
+
xt = x | 0,
|
5482
|
+
yt = y | 0,
|
5483
|
+
v0,
|
5484
|
+
v1 = values[yt * dx + xt];
|
5485
|
+
if (x > 0 && x < dx && xt === x) {
|
5486
|
+
v0 = values[yt * dx + xt - 1];
|
5487
|
+
point[0] = x + (value - v0) / (v1 - v0) - 0.5;
|
5488
|
+
}
|
5489
|
+
if (y > 0 && y < dy && yt === y) {
|
5490
|
+
v0 = values[(yt - 1) * dx + xt];
|
5491
|
+
point[1] = y + (value - v0) / (v1 - v0) - 0.5;
|
5492
|
+
}
|
5493
|
+
});
|
5494
|
+
}
|
5495
|
+
|
5496
|
+
contours.contour = contour;
|
5497
|
+
|
5498
|
+
contours.size = function(_) {
|
5499
|
+
if (!arguments.length) return [dx, dy];
|
5500
|
+
var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);
|
5501
|
+
if (!(_0 > 0) || !(_1 > 0)) throw new Error("invalid size");
|
5502
|
+
return dx = _0, dy = _1, contours;
|
5503
|
+
};
|
5504
|
+
|
5505
|
+
contours.thresholds = function(_) {
|
5506
|
+
return arguments.length ? (threshold$$1 = typeof _ === "function" ? _ : Array.isArray(_) ? constant$6(slice$3.call(_)) : constant$6(_), contours) : threshold$$1;
|
5507
|
+
};
|
5508
|
+
|
5509
|
+
contours.smooth = function(_) {
|
5510
|
+
return arguments.length ? (smooth = _ ? smoothLinear : noop$1, contours) : smooth === smoothLinear;
|
5511
|
+
};
|
5512
|
+
|
5513
|
+
return contours;
|
5514
|
+
}
|
5515
|
+
|
5516
|
+
// TODO Optimize edge cases.
|
5517
|
+
// TODO Optimize index calculation.
|
5518
|
+
// TODO Optimize arguments.
|
5519
|
+
function blurX(source, target, r) {
|
5520
|
+
var n = source.width,
|
5521
|
+
m = source.height,
|
5522
|
+
w = (r << 1) + 1;
|
5523
|
+
for (var j = 0; j < m; ++j) {
|
5524
|
+
for (var i = 0, sr = 0; i < n + r; ++i) {
|
5525
|
+
if (i < n) {
|
5526
|
+
sr += source.data[i + j * n];
|
5527
|
+
}
|
5528
|
+
if (i >= r) {
|
5529
|
+
if (i >= w) {
|
5530
|
+
sr -= source.data[i - w + j * n];
|
5531
|
+
}
|
5532
|
+
target.data[i - r + j * n] = sr / Math.min(i + 1, n - 1 + w - i, w);
|
5533
|
+
}
|
5534
|
+
}
|
5535
|
+
}
|
5536
|
+
}
|
5537
|
+
|
5538
|
+
// TODO Optimize edge cases.
|
5539
|
+
// TODO Optimize index calculation.
|
5540
|
+
// TODO Optimize arguments.
|
5541
|
+
function blurY(source, target, r) {
|
5542
|
+
var n = source.width,
|
5543
|
+
m = source.height,
|
5544
|
+
w = (r << 1) + 1;
|
5545
|
+
for (var i = 0; i < n; ++i) {
|
5546
|
+
for (var j = 0, sr = 0; j < m + r; ++j) {
|
5547
|
+
if (j < m) {
|
5548
|
+
sr += source.data[i + j * n];
|
5549
|
+
}
|
5550
|
+
if (j >= r) {
|
5551
|
+
if (j >= w) {
|
5552
|
+
sr -= source.data[i + (j - w) * n];
|
5553
|
+
}
|
5554
|
+
target.data[i + (j - r) * n] = sr / Math.min(j + 1, m - 1 + w - j, w);
|
5555
|
+
}
|
5556
|
+
}
|
5557
|
+
}
|
5558
|
+
}
|
5559
|
+
|
5560
|
+
function defaultX(d) {
|
5561
|
+
return d[0];
|
5562
|
+
}
|
5563
|
+
|
5564
|
+
function defaultY(d) {
|
5565
|
+
return d[1];
|
5566
|
+
}
|
5567
|
+
|
5568
|
+
function density() {
|
5569
|
+
var x = defaultX,
|
5570
|
+
y = defaultY,
|
5571
|
+
dx = 960,
|
5572
|
+
dy = 500,
|
5573
|
+
r = 20, // blur radius
|
5574
|
+
k = 2, // log2(grid cell size)
|
5575
|
+
o = r * 3, // grid offset, to pad for blur
|
5576
|
+
n = (dx + o * 2) >> k, // grid width
|
5577
|
+
m = (dy + o * 2) >> k, // grid height
|
5578
|
+
threshold$$1 = constant$6(20);
|
5579
|
+
|
5580
|
+
function density(data) {
|
5581
|
+
var values0 = new Float32Array(n * m),
|
5582
|
+
values1 = new Float32Array(n * m);
|
5583
|
+
|
5584
|
+
data.forEach(function(d, i, data) {
|
5585
|
+
var xi = (x(d, i, data) + o) >> k,
|
5586
|
+
yi = (y(d, i, data) + o) >> k;
|
5587
|
+
if (xi >= 0 && xi < n && yi >= 0 && yi < m) {
|
5588
|
+
++values0[xi + yi * n];
|
5589
|
+
}
|
5590
|
+
});
|
5591
|
+
|
5592
|
+
// TODO Optimize.
|
5593
|
+
blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);
|
5594
|
+
blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);
|
5595
|
+
blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);
|
5596
|
+
blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);
|
5597
|
+
blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);
|
5598
|
+
blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);
|
5599
|
+
|
5600
|
+
var tz = threshold$$1(values0);
|
5601
|
+
|
5602
|
+
// Convert number of thresholds into uniform thresholds.
|
5603
|
+
if (!Array.isArray(tz)) {
|
5604
|
+
var stop = max(values0);
|
5605
|
+
tz = tickStep(0, stop, tz);
|
5606
|
+
tz = sequence(0, Math.floor(stop / tz) * tz, tz);
|
5607
|
+
tz.shift();
|
5608
|
+
}
|
5609
|
+
|
5610
|
+
return contours()
|
5611
|
+
.thresholds(tz)
|
5612
|
+
.size([n, m])
|
5613
|
+
(values0)
|
5614
|
+
.map(transform);
|
5615
|
+
}
|
5616
|
+
|
5617
|
+
function transform(geometry) {
|
5618
|
+
geometry.value *= Math.pow(2, -2 * k); // Density in points per square pixel.
|
5619
|
+
geometry.coordinates.forEach(transformPolygon);
|
5620
|
+
return geometry;
|
5621
|
+
}
|
5622
|
+
|
5623
|
+
function transformPolygon(coordinates) {
|
5624
|
+
coordinates.forEach(transformRing);
|
5625
|
+
}
|
5626
|
+
|
5627
|
+
function transformRing(coordinates) {
|
5628
|
+
coordinates.forEach(transformPoint);
|
5629
|
+
}
|
5630
|
+
|
5631
|
+
// TODO Optimize.
|
5632
|
+
function transformPoint(coordinates) {
|
5633
|
+
coordinates[0] = coordinates[0] * Math.pow(2, k) - o;
|
5634
|
+
coordinates[1] = coordinates[1] * Math.pow(2, k) - o;
|
5635
|
+
}
|
5636
|
+
|
5637
|
+
function resize() {
|
5638
|
+
o = r * 3;
|
5639
|
+
n = (dx + o * 2) >> k;
|
5640
|
+
m = (dy + o * 2) >> k;
|
5641
|
+
return density;
|
5642
|
+
}
|
5643
|
+
|
5644
|
+
density.x = function(_) {
|
5645
|
+
return arguments.length ? (x = typeof _ === "function" ? _ : constant$6(+_), density) : x;
|
5646
|
+
};
|
5647
|
+
|
5648
|
+
density.y = function(_) {
|
5649
|
+
return arguments.length ? (y = typeof _ === "function" ? _ : constant$6(+_), density) : y;
|
5650
|
+
};
|
5651
|
+
|
5652
|
+
density.size = function(_) {
|
5653
|
+
if (!arguments.length) return [dx, dy];
|
5654
|
+
var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);
|
5655
|
+
if (!(_0 >= 0) && !(_0 >= 0)) throw new Error("invalid size");
|
5656
|
+
return dx = _0, dy = _1, resize();
|
5657
|
+
};
|
5658
|
+
|
5659
|
+
density.cellSize = function(_) {
|
5660
|
+
if (!arguments.length) return 1 << k;
|
5661
|
+
if (!((_ = +_) >= 1)) throw new Error("invalid cell size");
|
5662
|
+
return k = Math.floor(Math.log(_) / Math.LN2), resize();
|
5663
|
+
};
|
5664
|
+
|
5665
|
+
density.thresholds = function(_) {
|
5666
|
+
return arguments.length ? (threshold$$1 = typeof _ === "function" ? _ : Array.isArray(_) ? constant$6(slice$3.call(_)) : constant$6(_), density) : threshold$$1;
|
5667
|
+
};
|
5668
|
+
|
5669
|
+
density.bandwidth = function(_) {
|
5670
|
+
if (!arguments.length) return Math.sqrt(r * (r + 1));
|
5671
|
+
if (!((_ = +_) >= 0)) throw new Error("invalid bandwidth");
|
5672
|
+
return r = Math.round((Math.sqrt(4 * _ * _ + 1) - 1) / 2), resize();
|
5673
|
+
};
|
5674
|
+
|
5675
|
+
return density;
|
5676
|
+
}
|
5677
|
+
|
5678
|
+
var EOL = {},
|
5679
|
+
EOF = {},
|
5680
|
+
QUOTE = 34,
|
5681
|
+
NEWLINE = 10,
|
5682
|
+
RETURN = 13;
|
5242
5683
|
|
5243
5684
|
function objectConverter(columns) {
|
5244
5685
|
return new Function("d", "return {" + columns.map(function(name, i) {
|
@@ -5269,7 +5710,7 @@ function inferColumns(rows) {
|
|
5269
5710
|
return columns;
|
5270
5711
|
}
|
5271
5712
|
|
5272
|
-
function
|
5713
|
+
function dsvFormat(delimiter) {
|
5273
5714
|
var reFormat = new RegExp("[\"" + delimiter + "\n\r]"),
|
5274
5715
|
DELIMITER = delimiter.charCodeAt(0);
|
5275
5716
|
|
@@ -5362,20 +5803,100 @@ function dsv(delimiter) {
|
|
5362
5803
|
};
|
5363
5804
|
}
|
5364
5805
|
|
5365
|
-
var csv =
|
5806
|
+
var csv = dsvFormat(",");
|
5366
5807
|
|
5367
5808
|
var csvParse = csv.parse;
|
5368
5809
|
var csvParseRows = csv.parseRows;
|
5369
5810
|
var csvFormat = csv.format;
|
5370
5811
|
var csvFormatRows = csv.formatRows;
|
5371
5812
|
|
5372
|
-
var tsv =
|
5813
|
+
var tsv = dsvFormat("\t");
|
5373
5814
|
|
5374
5815
|
var tsvParse = tsv.parse;
|
5375
5816
|
var tsvParseRows = tsv.parseRows;
|
5376
5817
|
var tsvFormat = tsv.format;
|
5377
5818
|
var tsvFormatRows = tsv.formatRows;
|
5378
5819
|
|
5820
|
+
function responseBlob(response) {
|
5821
|
+
if (!response.ok) throw new Error(response.status + " " + response.statusText);
|
5822
|
+
return response.blob();
|
5823
|
+
}
|
5824
|
+
|
5825
|
+
function blob(input, init) {
|
5826
|
+
return fetch(input, init).then(responseBlob);
|
5827
|
+
}
|
5828
|
+
|
5829
|
+
function responseArrayBuffer(response) {
|
5830
|
+
if (!response.ok) throw new Error(response.status + " " + response.statusText);
|
5831
|
+
return response.arrayBuffer();
|
5832
|
+
}
|
5833
|
+
|
5834
|
+
function buffer(input, init) {
|
5835
|
+
return fetch(input, init).then(responseArrayBuffer);
|
5836
|
+
}
|
5837
|
+
|
5838
|
+
function responseText(response) {
|
5839
|
+
if (!response.ok) throw new Error(response.status + " " + response.statusText);
|
5840
|
+
return response.text();
|
5841
|
+
}
|
5842
|
+
|
5843
|
+
function text(input, init) {
|
5844
|
+
return fetch(input, init).then(responseText);
|
5845
|
+
}
|
5846
|
+
|
5847
|
+
function dsvParse(parse) {
|
5848
|
+
return function(input, init, row) {
|
5849
|
+
if (arguments.length === 2 && typeof init === "function") row = init, init = undefined;
|
5850
|
+
return text(input, init).then(function(response) {
|
5851
|
+
return parse(response, row);
|
5852
|
+
});
|
5853
|
+
};
|
5854
|
+
}
|
5855
|
+
|
5856
|
+
function dsv(delimiter, input, init, row) {
|
5857
|
+
if (arguments.length === 3 && typeof init === "function") row = init, init = undefined;
|
5858
|
+
var format = dsvFormat(delimiter);
|
5859
|
+
return text(input, init).then(function(response) {
|
5860
|
+
return format.parse(response, row);
|
5861
|
+
});
|
5862
|
+
}
|
5863
|
+
|
5864
|
+
var csv$1 = dsvParse(csvParse);
|
5865
|
+
var tsv$1 = dsvParse(tsvParse);
|
5866
|
+
|
5867
|
+
function image(input, init) {
|
5868
|
+
return new Promise(function(resolve, reject) {
|
5869
|
+
var image = new Image;
|
5870
|
+
for (var key in init) image[key] = init[key];
|
5871
|
+
image.onerror = reject;
|
5872
|
+
image.onload = function() { resolve(image); };
|
5873
|
+
image.src = input;
|
5874
|
+
});
|
5875
|
+
}
|
5876
|
+
|
5877
|
+
function responseJson(response) {
|
5878
|
+
if (!response.ok) throw new Error(response.status + " " + response.statusText);
|
5879
|
+
return response.json();
|
5880
|
+
}
|
5881
|
+
|
5882
|
+
function json(input, init) {
|
5883
|
+
return fetch(input, init).then(responseJson);
|
5884
|
+
}
|
5885
|
+
|
5886
|
+
function parser(type) {
|
5887
|
+
return function(input, init) {
|
5888
|
+
return text(input, init).then(function(text$$1) {
|
5889
|
+
return (new DOMParser).parseFromString(text$$1, type);
|
5890
|
+
});
|
5891
|
+
};
|
5892
|
+
}
|
5893
|
+
|
5894
|
+
var xml = parser("application/xml");
|
5895
|
+
|
5896
|
+
var html = parser("text/html");
|
5897
|
+
|
5898
|
+
var svg = parser("image/svg+xml");
|
5899
|
+
|
5379
5900
|
function center$1(x, y) {
|
5380
5901
|
var nodes;
|
5381
5902
|
|
@@ -5413,7 +5934,7 @@ function center$1(x, y) {
|
|
5413
5934
|
return force;
|
5414
5935
|
}
|
5415
5936
|
|
5416
|
-
function constant$
|
5937
|
+
function constant$7(x) {
|
5417
5938
|
return function() {
|
5418
5939
|
return x;
|
5419
5940
|
};
|
@@ -5769,7 +6290,7 @@ function tree_visitAfter(callback) {
|
|
5769
6290
|
return this;
|
5770
6291
|
}
|
5771
6292
|
|
5772
|
-
function defaultX(d) {
|
6293
|
+
function defaultX$1(d) {
|
5773
6294
|
return d[0];
|
5774
6295
|
}
|
5775
6296
|
|
@@ -5777,7 +6298,7 @@ function tree_x(_) {
|
|
5777
6298
|
return arguments.length ? (this._x = _, this) : this._x;
|
5778
6299
|
}
|
5779
6300
|
|
5780
|
-
function defaultY(d) {
|
6301
|
+
function defaultY$1(d) {
|
5781
6302
|
return d[1];
|
5782
6303
|
}
|
5783
6304
|
|
@@ -5786,7 +6307,7 @@ function tree_y(_) {
|
|
5786
6307
|
}
|
5787
6308
|
|
5788
6309
|
function quadtree(nodes, x, y) {
|
5789
|
-
var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);
|
6310
|
+
var tree = new Quadtree(x == null ? defaultX$1 : x, y == null ? defaultY$1 : y, NaN, NaN, NaN, NaN);
|
5790
6311
|
return nodes == null ? tree : tree.addAll(nodes);
|
5791
6312
|
}
|
5792
6313
|
|
@@ -5860,7 +6381,7 @@ function collide(radius) {
|
|
5860
6381
|
strength = 1,
|
5861
6382
|
iterations = 1;
|
5862
6383
|
|
5863
|
-
if (typeof radius !== "function") radius = constant$
|
6384
|
+
if (typeof radius !== "function") radius = constant$7(radius == null ? 1 : +radius);
|
5864
6385
|
|
5865
6386
|
function force() {
|
5866
6387
|
var i, n = nodes.length,
|
@@ -5935,7 +6456,7 @@ function collide(radius) {
|
|
5935
6456
|
};
|
5936
6457
|
|
5937
6458
|
force.radius = function(_) {
|
5938
|
-
return arguments.length ? (radius = typeof _ === "function" ? _ : constant$
|
6459
|
+
return arguments.length ? (radius = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : radius;
|
5939
6460
|
};
|
5940
6461
|
|
5941
6462
|
return force;
|
@@ -5955,7 +6476,7 @@ function link(links) {
|
|
5955
6476
|
var id = index,
|
5956
6477
|
strength = defaultStrength,
|
5957
6478
|
strengths,
|
5958
|
-
distance = constant$
|
6479
|
+
distance = constant$7(30),
|
5959
6480
|
distances,
|
5960
6481
|
nodes,
|
5961
6482
|
count,
|
@@ -6044,11 +6565,11 @@ function link(links) {
|
|
6044
6565
|
};
|
6045
6566
|
|
6046
6567
|
force.strength = function(_) {
|
6047
|
-
return arguments.length ? (strength = typeof _ === "function" ? _ : constant$
|
6568
|
+
return arguments.length ? (strength = typeof _ === "function" ? _ : constant$7(+_), initializeStrength(), force) : strength;
|
6048
6569
|
};
|
6049
6570
|
|
6050
6571
|
force.distance = function(_) {
|
6051
|
-
return arguments.length ? (distance = typeof _ === "function" ? _ : constant$
|
6572
|
+
return arguments.length ? (distance = typeof _ === "function" ? _ : constant$7(+_), initializeDistance(), force) : distance;
|
6052
6573
|
};
|
6053
6574
|
|
6054
6575
|
return force;
|
@@ -6062,8 +6583,8 @@ function y$1(d) {
|
|
6062
6583
|
return d.y;
|
6063
6584
|
}
|
6064
6585
|
|
6065
|
-
var initialRadius = 10
|
6066
|
-
|
6586
|
+
var initialRadius = 10,
|
6587
|
+
initialAngle = Math.PI * (3 - Math.sqrt(5));
|
6067
6588
|
|
6068
6589
|
function simulation(nodes) {
|
6069
6590
|
var simulation,
|
@@ -6198,7 +6719,7 @@ function manyBody() {
|
|
6198
6719
|
var nodes,
|
6199
6720
|
node,
|
6200
6721
|
alpha,
|
6201
|
-
strength = constant$
|
6722
|
+
strength = constant$7(-30),
|
6202
6723
|
strengths,
|
6203
6724
|
distanceMin2 = 1,
|
6204
6725
|
distanceMax2 = Infinity,
|
@@ -6286,7 +6807,7 @@ function manyBody() {
|
|
6286
6807
|
};
|
6287
6808
|
|
6288
6809
|
force.strength = function(_) {
|
6289
|
-
return arguments.length ? (strength = typeof _ === "function" ? _ : constant$
|
6810
|
+
return arguments.length ? (strength = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : strength;
|
6290
6811
|
};
|
6291
6812
|
|
6292
6813
|
force.distanceMin = function(_) {
|
@@ -6306,11 +6827,11 @@ function manyBody() {
|
|
6306
6827
|
|
6307
6828
|
function radial(radius, x, y) {
|
6308
6829
|
var nodes,
|
6309
|
-
strength = constant$
|
6830
|
+
strength = constant$7(0.1),
|
6310
6831
|
strengths,
|
6311
6832
|
radiuses;
|
6312
6833
|
|
6313
|
-
if (typeof radius !== "function") radius = constant$
|
6834
|
+
if (typeof radius !== "function") radius = constant$7(+radius);
|
6314
6835
|
if (x == null) x = 0;
|
6315
6836
|
if (y == null) y = 0;
|
6316
6837
|
|
@@ -6342,11 +6863,11 @@ function radial(radius, x, y) {
|
|
6342
6863
|
};
|
6343
6864
|
|
6344
6865
|
force.strength = function(_) {
|
6345
|
-
return arguments.length ? (strength = typeof _ === "function" ? _ : constant$
|
6866
|
+
return arguments.length ? (strength = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : strength;
|
6346
6867
|
};
|
6347
6868
|
|
6348
6869
|
force.radius = function(_) {
|
6349
|
-
return arguments.length ? (radius = typeof _ === "function" ? _ : constant$
|
6870
|
+
return arguments.length ? (radius = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : radius;
|
6350
6871
|
};
|
6351
6872
|
|
6352
6873
|
force.x = function(_) {
|
@@ -6361,12 +6882,12 @@ function radial(radius, x, y) {
|
|
6361
6882
|
}
|
6362
6883
|
|
6363
6884
|
function x$2(x) {
|
6364
|
-
var strength = constant$
|
6885
|
+
var strength = constant$7(0.1),
|
6365
6886
|
nodes,
|
6366
6887
|
strengths,
|
6367
6888
|
xz;
|
6368
6889
|
|
6369
|
-
if (typeof x !== "function") x = constant$
|
6890
|
+
if (typeof x !== "function") x = constant$7(x == null ? 0 : +x);
|
6370
6891
|
|
6371
6892
|
function force(alpha) {
|
6372
6893
|
for (var i = 0, n = nodes.length, node; i < n; ++i) {
|
@@ -6390,23 +6911,23 @@ function x$2(x) {
|
|
6390
6911
|
};
|
6391
6912
|
|
6392
6913
|
force.strength = function(_) {
|
6393
|
-
return arguments.length ? (strength = typeof _ === "function" ? _ : constant$
|
6914
|
+
return arguments.length ? (strength = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : strength;
|
6394
6915
|
};
|
6395
6916
|
|
6396
6917
|
force.x = function(_) {
|
6397
|
-
return arguments.length ? (x = typeof _ === "function" ? _ : constant$
|
6918
|
+
return arguments.length ? (x = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : x;
|
6398
6919
|
};
|
6399
6920
|
|
6400
6921
|
return force;
|
6401
6922
|
}
|
6402
6923
|
|
6403
6924
|
function y$2(y) {
|
6404
|
-
var strength = constant$
|
6925
|
+
var strength = constant$7(0.1),
|
6405
6926
|
nodes,
|
6406
6927
|
strengths,
|
6407
6928
|
yz;
|
6408
6929
|
|
6409
|
-
if (typeof y !== "function") y = constant$
|
6930
|
+
if (typeof y !== "function") y = constant$7(y == null ? 0 : +y);
|
6410
6931
|
|
6411
6932
|
function force(alpha) {
|
6412
6933
|
for (var i = 0, n = nodes.length, node; i < n; ++i) {
|
@@ -6430,11 +6951,11 @@ function y$2(y) {
|
|
6430
6951
|
};
|
6431
6952
|
|
6432
6953
|
force.strength = function(_) {
|
6433
|
-
return arguments.length ? (strength = typeof _ === "function" ? _ : constant$
|
6954
|
+
return arguments.length ? (strength = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : strength;
|
6434
6955
|
};
|
6435
6956
|
|
6436
6957
|
force.y = function(_) {
|
6437
|
-
return arguments.length ? (y = typeof _ === "function" ? _ : constant$
|
6958
|
+
return arguments.length ? (y = typeof _ === "function" ? _ : constant$7(+_), initialize(), force) : y;
|
6438
6959
|
};
|
6439
6960
|
|
6440
6961
|
return force;
|
@@ -6486,19 +7007,53 @@ function formatNumerals(numerals) {
|
|
6486
7007
|
};
|
6487
7008
|
}
|
6488
7009
|
|
6489
|
-
|
6490
|
-
|
7010
|
+
// [[fill]align][sign][symbol][0][width][,][.precision][~][type]
|
7011
|
+
var re = /^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
|
7012
|
+
|
7013
|
+
function formatSpecifier(specifier) {
|
7014
|
+
return new FormatSpecifier(specifier);
|
7015
|
+
}
|
7016
|
+
|
7017
|
+
formatSpecifier.prototype = FormatSpecifier.prototype; // instanceof
|
7018
|
+
|
7019
|
+
function FormatSpecifier(specifier) {
|
7020
|
+
if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);
|
7021
|
+
var match;
|
7022
|
+
this.fill = match[1] || " ";
|
7023
|
+
this.align = match[2] || ">";
|
7024
|
+
this.sign = match[3] || "-";
|
7025
|
+
this.symbol = match[4] || "";
|
7026
|
+
this.zero = !!match[5];
|
7027
|
+
this.width = match[6] && +match[6];
|
7028
|
+
this.comma = !!match[7];
|
7029
|
+
this.precision = match[8] && +match[8].slice(1);
|
7030
|
+
this.trim = !!match[9];
|
7031
|
+
this.type = match[10] || "";
|
7032
|
+
}
|
7033
|
+
|
7034
|
+
FormatSpecifier.prototype.toString = function() {
|
7035
|
+
return this.fill
|
7036
|
+
+ this.align
|
7037
|
+
+ this.sign
|
7038
|
+
+ this.symbol
|
7039
|
+
+ (this.zero ? "0" : "")
|
7040
|
+
+ (this.width == null ? "" : Math.max(1, this.width | 0))
|
7041
|
+
+ (this.comma ? "," : "")
|
7042
|
+
+ (this.precision == null ? "" : "." + Math.max(0, this.precision | 0))
|
7043
|
+
+ (this.trim ? "~" : "")
|
7044
|
+
+ this.type;
|
7045
|
+
};
|
6491
7046
|
|
6492
|
-
|
6493
|
-
|
7047
|
+
// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.
|
7048
|
+
function formatTrim(s) {
|
7049
|
+
out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {
|
7050
|
+
switch (s[i]) {
|
6494
7051
|
case ".": i0 = i1 = i; break;
|
6495
7052
|
case "0": if (i0 === 0) i0 = i; i1 = i; break;
|
6496
|
-
|
6497
|
-
default: if (i0 > 0) i0 = 0; break;
|
7053
|
+
default: if (i0 > 0) { if (!+s[i]) break out; i0 = 0; } break;
|
6498
7054
|
}
|
6499
7055
|
}
|
6500
|
-
|
6501
|
-
return i0 > 0 ? x.slice(0, i0) + x.slice(i1 + 1) : x;
|
7056
|
+
return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;
|
6502
7057
|
}
|
6503
7058
|
|
6504
7059
|
var prefixExponent;
|
@@ -6527,7 +7082,6 @@ function formatRounded(x, p) {
|
|
6527
7082
|
}
|
6528
7083
|
|
6529
7084
|
var formatTypes = {
|
6530
|
-
"": formatDefault,
|
6531
7085
|
"%": function(x, p) { return (x * 100).toFixed(p); },
|
6532
7086
|
"b": function(x) { return Math.round(x).toString(2); },
|
6533
7087
|
"c": function(x) { return x + ""; },
|
@@ -6543,61 +7097,6 @@ var formatTypes = {
|
|
6543
7097
|
"x": function(x) { return Math.round(x).toString(16); }
|
6544
7098
|
};
|
6545
7099
|
|
6546
|
-
// [[fill]align][sign][symbol][0][width][,][.precision][type]
|
6547
|
-
var re = /^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;
|
6548
|
-
|
6549
|
-
function formatSpecifier(specifier) {
|
6550
|
-
return new FormatSpecifier(specifier);
|
6551
|
-
}
|
6552
|
-
|
6553
|
-
formatSpecifier.prototype = FormatSpecifier.prototype; // instanceof
|
6554
|
-
|
6555
|
-
function FormatSpecifier(specifier) {
|
6556
|
-
if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);
|
6557
|
-
|
6558
|
-
var match,
|
6559
|
-
fill = match[1] || " ",
|
6560
|
-
align = match[2] || ">",
|
6561
|
-
sign = match[3] || "-",
|
6562
|
-
symbol = match[4] || "",
|
6563
|
-
zero = !!match[5],
|
6564
|
-
width = match[6] && +match[6],
|
6565
|
-
comma = !!match[7],
|
6566
|
-
precision = match[8] && +match[8].slice(1),
|
6567
|
-
type = match[9] || "";
|
6568
|
-
|
6569
|
-
// The "n" type is an alias for ",g".
|
6570
|
-
if (type === "n") comma = true, type = "g";
|
6571
|
-
|
6572
|
-
// Map invalid types to the default format.
|
6573
|
-
else if (!formatTypes[type]) type = "";
|
6574
|
-
|
6575
|
-
// If zero fill is specified, padding goes after sign and before digits.
|
6576
|
-
if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "=";
|
6577
|
-
|
6578
|
-
this.fill = fill;
|
6579
|
-
this.align = align;
|
6580
|
-
this.sign = sign;
|
6581
|
-
this.symbol = symbol;
|
6582
|
-
this.zero = zero;
|
6583
|
-
this.width = width;
|
6584
|
-
this.comma = comma;
|
6585
|
-
this.precision = precision;
|
6586
|
-
this.type = type;
|
6587
|
-
}
|
6588
|
-
|
6589
|
-
FormatSpecifier.prototype.toString = function() {
|
6590
|
-
return this.fill
|
6591
|
-
+ this.align
|
6592
|
-
+ this.sign
|
6593
|
-
+ this.symbol
|
6594
|
-
+ (this.zero ? "0" : "")
|
6595
|
-
+ (this.width == null ? "" : Math.max(1, this.width | 0))
|
6596
|
-
+ (this.comma ? "," : "")
|
6597
|
-
+ (this.precision == null ? "" : "." + Math.max(0, this.precision | 0))
|
6598
|
-
+ this.type;
|
6599
|
-
};
|
6600
|
-
|
6601
7100
|
function identity$3(x) {
|
6602
7101
|
return x;
|
6603
7102
|
}
|
@@ -6622,8 +7121,18 @@ function formatLocale(locale) {
|
|
6622
7121
|
width = specifier.width,
|
6623
7122
|
comma = specifier.comma,
|
6624
7123
|
precision = specifier.precision,
|
7124
|
+
trim = specifier.trim,
|
6625
7125
|
type = specifier.type;
|
6626
7126
|
|
7127
|
+
// The "n" type is an alias for ",g".
|
7128
|
+
if (type === "n") comma = true, type = "g";
|
7129
|
+
|
7130
|
+
// The "" type, and any invalid type, is an alias for ".12~g".
|
7131
|
+
else if (!formatTypes[type]) precision == null && (precision = 12), trim = true, type = "g";
|
7132
|
+
|
7133
|
+
// If zero fill is specified, padding goes after sign and before digits.
|
7134
|
+
if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "=";
|
7135
|
+
|
6627
7136
|
// Compute the prefix and suffix.
|
6628
7137
|
// For SI-prefix, the suffix is lazily computed.
|
6629
7138
|
var prefix = symbol === "$" ? currency[0] : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "",
|
@@ -6633,13 +7142,13 @@ function formatLocale(locale) {
|
|
6633
7142
|
// Is this an integer type?
|
6634
7143
|
// Can this type generate exponential notation?
|
6635
7144
|
var formatType = formatTypes[type],
|
6636
|
-
maybeSuffix =
|
7145
|
+
maybeSuffix = /[defgprs%]/.test(type);
|
6637
7146
|
|
6638
7147
|
// Set the default precision if not specified,
|
6639
7148
|
// or clamp the specified precision to the supported range.
|
6640
7149
|
// For significant precision, it must be in [1, 21].
|
6641
7150
|
// For fixed precision, it must be in [0, 20].
|
6642
|
-
precision = precision == null ?
|
7151
|
+
precision = precision == null ? 6
|
6643
7152
|
: /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))
|
6644
7153
|
: Math.max(0, Math.min(20, precision));
|
6645
7154
|
|
@@ -6658,6 +7167,9 @@ function formatLocale(locale) {
|
|
6658
7167
|
var valueNegative = value < 0;
|
6659
7168
|
value = formatType(Math.abs(value), precision);
|
6660
7169
|
|
7170
|
+
// Trim insignificant zeros.
|
7171
|
+
if (trim) value = formatTrim(value);
|
7172
|
+
|
6661
7173
|
// If a negative value rounds to zero during formatting, treat as positive.
|
6662
7174
|
if (valueNegative && +value === 0) valueNegative = false;
|
6663
7175
|
|
@@ -6725,8 +7237,6 @@ function formatLocale(locale) {
|
|
6725
7237
|
|
6726
7238
|
var locale;
|
6727
7239
|
|
6728
|
-
|
6729
|
-
|
6730
7240
|
defaultLocale({
|
6731
7241
|
decimal: ".",
|
6732
7242
|
thousands: ",",
|
@@ -6811,7 +7321,6 @@ var atan2 = Math.atan2;
|
|
6811
7321
|
var cos$1 = Math.cos;
|
6812
7322
|
var ceil = Math.ceil;
|
6813
7323
|
var exp = Math.exp;
|
6814
|
-
|
6815
7324
|
var log = Math.log;
|
6816
7325
|
var pow = Math.pow;
|
6817
7326
|
var sin$1 = Math.sin;
|
@@ -6831,7 +7340,7 @@ function haversin(x) {
|
|
6831
7340
|
return (x = sin$1(x / 2)) * x;
|
6832
7341
|
}
|
6833
7342
|
|
6834
|
-
function noop$
|
7343
|
+
function noop$2() {}
|
6835
7344
|
|
6836
7345
|
function streamGeometry(geometry, stream) {
|
6837
7346
|
if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {
|
@@ -6905,17 +7414,17 @@ function geoStream(object, stream) {
|
|
6905
7414
|
|
6906
7415
|
var areaRingSum = adder();
|
6907
7416
|
|
6908
|
-
var areaSum = adder()
|
6909
|
-
|
6910
|
-
|
6911
|
-
|
6912
|
-
|
6913
|
-
|
7417
|
+
var areaSum = adder(),
|
7418
|
+
lambda00,
|
7419
|
+
phi00,
|
7420
|
+
lambda0,
|
7421
|
+
cosPhi0,
|
7422
|
+
sinPhi0;
|
6914
7423
|
|
6915
7424
|
var areaStream = {
|
6916
|
-
point: noop$
|
6917
|
-
lineStart: noop$
|
6918
|
-
lineEnd: noop$
|
7425
|
+
point: noop$2,
|
7426
|
+
lineStart: noop$2,
|
7427
|
+
lineEnd: noop$2,
|
6919
7428
|
polygonStart: function() {
|
6920
7429
|
areaRingSum.reset();
|
6921
7430
|
areaStream.lineStart = areaRingStart;
|
@@ -6924,7 +7433,7 @@ var areaStream = {
|
|
6924
7433
|
polygonEnd: function() {
|
6925
7434
|
var areaRing = +areaRingSum;
|
6926
7435
|
areaSum.add(areaRing < 0 ? tau$3 + areaRing : areaRing);
|
6927
|
-
this.lineStart = this.lineEnd = this.point = noop$
|
7436
|
+
this.lineStart = this.lineEnd = this.point = noop$2;
|
6928
7437
|
},
|
6929
7438
|
sphere: function() {
|
6930
7439
|
areaSum.add(tau$3);
|
@@ -6967,7 +7476,7 @@ function areaPoint(lambda, phi) {
|
|
6967
7476
|
lambda0 = lambda, cosPhi0 = cosPhi, sinPhi0 = sinPhi;
|
6968
7477
|
}
|
6969
7478
|
|
6970
|
-
function area(object) {
|
7479
|
+
function area$1(object) {
|
6971
7480
|
areaSum.reset();
|
6972
7481
|
geoStream(object, areaStream);
|
6973
7482
|
return areaSum * 2;
|
@@ -7005,17 +7514,13 @@ function cartesianNormalizeInPlace(d) {
|
|
7005
7514
|
d[0] /= l, d[1] /= l, d[2] /= l;
|
7006
7515
|
}
|
7007
7516
|
|
7008
|
-
var lambda0$1
|
7009
|
-
|
7010
|
-
|
7011
|
-
|
7012
|
-
|
7013
|
-
|
7014
|
-
|
7015
|
-
var p0;
|
7016
|
-
var deltaSum = adder();
|
7017
|
-
var ranges;
|
7018
|
-
var range;
|
7517
|
+
var lambda0$1, phi0, lambda1, phi1, // bounds
|
7518
|
+
lambda2, // previous lambda-coordinate
|
7519
|
+
lambda00$1, phi00$1, // first point
|
7520
|
+
p0, // previous 3D point
|
7521
|
+
deltaSum = adder(),
|
7522
|
+
ranges,
|
7523
|
+
range;
|
7019
7524
|
|
7020
7525
|
var boundsStream = {
|
7021
7526
|
point: boundsPoint,
|
@@ -7180,25 +7685,15 @@ function bounds(feature) {
|
|
7180
7685
|
: [[lambda0$1, phi0], [lambda1, phi1]];
|
7181
7686
|
}
|
7182
7687
|
|
7183
|
-
var W0
|
7184
|
-
|
7185
|
-
|
7186
|
-
|
7187
|
-
|
7188
|
-
|
7189
|
-
var Y1;
|
7190
|
-
var Z1;
|
7191
|
-
var X2;
|
7192
|
-
var Y2;
|
7193
|
-
var Z2;
|
7194
|
-
var lambda00$2;
|
7195
|
-
var phi00$2;
|
7196
|
-
var x0;
|
7197
|
-
var y0;
|
7198
|
-
var z0; // previous point
|
7688
|
+
var W0, W1,
|
7689
|
+
X0, Y0, Z0,
|
7690
|
+
X1, Y1, Z1,
|
7691
|
+
X2, Y2, Z2,
|
7692
|
+
lambda00$2, phi00$2, // first point
|
7693
|
+
x0, y0, z0; // previous point
|
7199
7694
|
|
7200
7695
|
var centroidStream = {
|
7201
|
-
sphere: noop$
|
7696
|
+
sphere: noop$2,
|
7202
7697
|
point: centroidPoint,
|
7203
7698
|
lineStart: centroidLineStart,
|
7204
7699
|
lineEnd: centroidLineEnd,
|
@@ -7327,7 +7822,7 @@ function centroid(object) {
|
|
7327
7822
|
return [atan2(y, x) * degrees$1, asin(z / sqrt(m)) * degrees$1];
|
7328
7823
|
}
|
7329
7824
|
|
7330
|
-
function constant$
|
7825
|
+
function constant$8(x) {
|
7331
7826
|
return function() {
|
7332
7827
|
return x;
|
7333
7828
|
};
|
@@ -7449,9 +7944,9 @@ function circleRadius(cosRadius, point) {
|
|
7449
7944
|
}
|
7450
7945
|
|
7451
7946
|
function circle() {
|
7452
|
-
var center = constant$
|
7453
|
-
radius = constant$
|
7454
|
-
precision = constant$
|
7947
|
+
var center = constant$8([0, 0]),
|
7948
|
+
radius = constant$8(90),
|
7949
|
+
precision = constant$8(6),
|
7455
7950
|
ring,
|
7456
7951
|
rotate,
|
7457
7952
|
stream = {point: point};
|
@@ -7474,15 +7969,15 @@ function circle() {
|
|
7474
7969
|
}
|
7475
7970
|
|
7476
7971
|
circle.center = function(_) {
|
7477
|
-
return arguments.length ? (center = typeof _ === "function" ? _ : constant$
|
7972
|
+
return arguments.length ? (center = typeof _ === "function" ? _ : constant$8([+_[0], +_[1]]), circle) : center;
|
7478
7973
|
};
|
7479
7974
|
|
7480
7975
|
circle.radius = function(_) {
|
7481
|
-
return arguments.length ? (radius = typeof _ === "function" ? _ : constant$
|
7976
|
+
return arguments.length ? (radius = typeof _ === "function" ? _ : constant$8(+_), circle) : radius;
|
7482
7977
|
};
|
7483
7978
|
|
7484
7979
|
circle.precision = function(_) {
|
7485
|
-
return arguments.length ? (precision = typeof _ === "function" ? _ : constant$
|
7980
|
+
return arguments.length ? (precision = typeof _ === "function" ? _ : constant$8(+_), circle) : precision;
|
7486
7981
|
};
|
7487
7982
|
|
7488
7983
|
return circle;
|
@@ -7498,7 +7993,7 @@ function clipBuffer() {
|
|
7498
7993
|
lineStart: function() {
|
7499
7994
|
lines.push(line = []);
|
7500
7995
|
},
|
7501
|
-
lineEnd: noop$
|
7996
|
+
lineEnd: noop$2,
|
7502
7997
|
rejoin: function() {
|
7503
7998
|
if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));
|
7504
7999
|
},
|
@@ -7620,12 +8115,16 @@ var sum$1 = adder();
|
|
7620
8115
|
function polygonContains(polygon, point) {
|
7621
8116
|
var lambda = point[0],
|
7622
8117
|
phi = point[1],
|
8118
|
+
sinPhi = sin$1(phi),
|
7623
8119
|
normal = [sin$1(lambda), -cos$1(lambda), 0],
|
7624
8120
|
angle = 0,
|
7625
8121
|
winding = 0;
|
7626
8122
|
|
7627
8123
|
sum$1.reset();
|
7628
8124
|
|
8125
|
+
if (sinPhi === 1) phi = halfPi$2 + epsilon$2;
|
8126
|
+
else if (sinPhi === -1) phi = -halfPi$2 - epsilon$2;
|
8127
|
+
|
7629
8128
|
for (var i = 0, n = polygon.length; i < n; ++i) {
|
7630
8129
|
if (!(m = (ring = polygon[i]).length)) continue;
|
7631
8130
|
var ring,
|
@@ -8133,8 +8632,7 @@ function clipLine(a, b, x0, y0, x1, y1) {
|
|
8133
8632
|
return true;
|
8134
8633
|
}
|
8135
8634
|
|
8136
|
-
var clipMax = 1e9;
|
8137
|
-
var clipMin = -clipMax;
|
8635
|
+
var clipMax = 1e9, clipMin = -clipMax;
|
8138
8636
|
|
8139
8637
|
// TODO Use d3-polygon’s polygonContains here for the ring check?
|
8140
8638
|
// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?
|
@@ -8316,18 +8814,18 @@ function extent$1() {
|
|
8316
8814
|
};
|
8317
8815
|
}
|
8318
8816
|
|
8319
|
-
var lengthSum = adder()
|
8320
|
-
|
8321
|
-
|
8322
|
-
|
8817
|
+
var lengthSum = adder(),
|
8818
|
+
lambda0$2,
|
8819
|
+
sinPhi0$1,
|
8820
|
+
cosPhi0$1;
|
8323
8821
|
|
8324
8822
|
var lengthStream = {
|
8325
|
-
sphere: noop$
|
8326
|
-
point: noop$
|
8823
|
+
sphere: noop$2,
|
8824
|
+
point: noop$2,
|
8327
8825
|
lineStart: lengthLineStart,
|
8328
|
-
lineEnd: noop$
|
8329
|
-
polygonStart: noop$
|
8330
|
-
polygonEnd: noop$
|
8826
|
+
lineEnd: noop$2,
|
8827
|
+
polygonStart: noop$2,
|
8828
|
+
polygonEnd: noop$2
|
8331
8829
|
};
|
8332
8830
|
|
8333
8831
|
function lengthLineStart() {
|
@@ -8336,7 +8834,7 @@ function lengthLineStart() {
|
|
8336
8834
|
}
|
8337
8835
|
|
8338
8836
|
function lengthLineEnd() {
|
8339
|
-
lengthStream.point = lengthStream.lineEnd = noop$
|
8837
|
+
lengthStream.point = lengthStream.lineEnd = noop$2;
|
8340
8838
|
}
|
8341
8839
|
|
8342
8840
|
function lengthPointFirst(lambda, phi) {
|
@@ -8365,8 +8863,8 @@ function length$1(object) {
|
|
8365
8863
|
return +lengthSum;
|
8366
8864
|
}
|
8367
8865
|
|
8368
|
-
var coordinates = [null, null]
|
8369
|
-
|
8866
|
+
var coordinates = [null, null],
|
8867
|
+
object$1 = {type: "LineString", coordinates: coordinates};
|
8370
8868
|
|
8371
8869
|
function distance(a, b) {
|
8372
8870
|
coordinates[0] = a;
|
@@ -8449,7 +8947,7 @@ function pointRadians(point) {
|
|
8449
8947
|
return [point[0] * radians, point[1] * radians];
|
8450
8948
|
}
|
8451
8949
|
|
8452
|
-
function contains(object, point) {
|
8950
|
+
function contains$1(object, point) {
|
8453
8951
|
return (object && containsObjectType.hasOwnProperty(object.type)
|
8454
8952
|
? containsObjectType[object.type]
|
8455
8953
|
: containsGeometry)(object, point);
|
@@ -8597,23 +9095,23 @@ function identity$4(x) {
|
|
8597
9095
|
return x;
|
8598
9096
|
}
|
8599
9097
|
|
8600
|
-
var areaSum$1 = adder()
|
8601
|
-
|
8602
|
-
|
8603
|
-
|
8604
|
-
|
8605
|
-
|
9098
|
+
var areaSum$1 = adder(),
|
9099
|
+
areaRingSum$1 = adder(),
|
9100
|
+
x00,
|
9101
|
+
y00,
|
9102
|
+
x0$1,
|
9103
|
+
y0$1;
|
8606
9104
|
|
8607
9105
|
var areaStream$1 = {
|
8608
|
-
point: noop$
|
8609
|
-
lineStart: noop$
|
8610
|
-
lineEnd: noop$
|
9106
|
+
point: noop$2,
|
9107
|
+
lineStart: noop$2,
|
9108
|
+
lineEnd: noop$2,
|
8611
9109
|
polygonStart: function() {
|
8612
9110
|
areaStream$1.lineStart = areaRingStart$1;
|
8613
9111
|
areaStream$1.lineEnd = areaRingEnd$1;
|
8614
9112
|
},
|
8615
9113
|
polygonEnd: function() {
|
8616
|
-
areaStream$1.lineStart = areaStream$1.lineEnd = areaStream$1.point = noop$
|
9114
|
+
areaStream$1.lineStart = areaStream$1.lineEnd = areaStream$1.point = noop$2;
|
8617
9115
|
areaSum$1.add(abs(areaRingSum$1));
|
8618
9116
|
areaRingSum$1.reset();
|
8619
9117
|
},
|
@@ -8642,17 +9140,17 @@ function areaRingEnd$1() {
|
|
8642
9140
|
areaPoint$1(x00, y00);
|
8643
9141
|
}
|
8644
9142
|
|
8645
|
-
var x0$2 = Infinity
|
8646
|
-
|
8647
|
-
|
8648
|
-
|
9143
|
+
var x0$2 = Infinity,
|
9144
|
+
y0$2 = x0$2,
|
9145
|
+
x1 = -x0$2,
|
9146
|
+
y1 = x1;
|
8649
9147
|
|
8650
9148
|
var boundsStream$1 = {
|
8651
9149
|
point: boundsPoint$1,
|
8652
|
-
lineStart: noop$
|
8653
|
-
lineEnd: noop$
|
8654
|
-
polygonStart: noop$
|
8655
|
-
polygonEnd: noop$
|
9150
|
+
lineStart: noop$2,
|
9151
|
+
lineEnd: noop$2,
|
9152
|
+
polygonStart: noop$2,
|
9153
|
+
polygonEnd: noop$2,
|
8656
9154
|
result: function() {
|
8657
9155
|
var bounds = [[x0$2, y0$2], [x1, y1]];
|
8658
9156
|
x1 = y1 = -(y0$2 = x0$2 = Infinity);
|
@@ -8669,19 +9167,19 @@ function boundsPoint$1(x, y) {
|
|
8669
9167
|
|
8670
9168
|
// TODO Enforce positive area for exterior, negative area for interior?
|
8671
9169
|
|
8672
|
-
var X0$1 = 0
|
8673
|
-
|
8674
|
-
|
8675
|
-
|
8676
|
-
|
8677
|
-
|
8678
|
-
|
8679
|
-
|
8680
|
-
|
8681
|
-
|
8682
|
-
|
8683
|
-
|
8684
|
-
|
9170
|
+
var X0$1 = 0,
|
9171
|
+
Y0$1 = 0,
|
9172
|
+
Z0$1 = 0,
|
9173
|
+
X1$1 = 0,
|
9174
|
+
Y1$1 = 0,
|
9175
|
+
Z1$1 = 0,
|
9176
|
+
X2$1 = 0,
|
9177
|
+
Y2$1 = 0,
|
9178
|
+
Z2$1 = 0,
|
9179
|
+
x00$1,
|
9180
|
+
y00$1,
|
9181
|
+
x0$3,
|
9182
|
+
y0$3;
|
8685
9183
|
|
8686
9184
|
var centroidStream$1 = {
|
8687
9185
|
point: centroidPoint$1,
|
@@ -8804,24 +9302,24 @@ PathContext.prototype = {
|
|
8804
9302
|
}
|
8805
9303
|
}
|
8806
9304
|
},
|
8807
|
-
result: noop$
|
9305
|
+
result: noop$2
|
8808
9306
|
};
|
8809
9307
|
|
8810
|
-
var lengthSum$1 = adder()
|
8811
|
-
|
8812
|
-
|
8813
|
-
|
8814
|
-
|
8815
|
-
|
9308
|
+
var lengthSum$1 = adder(),
|
9309
|
+
lengthRing,
|
9310
|
+
x00$2,
|
9311
|
+
y00$2,
|
9312
|
+
x0$4,
|
9313
|
+
y0$4;
|
8816
9314
|
|
8817
9315
|
var lengthStream$1 = {
|
8818
|
-
point: noop$
|
9316
|
+
point: noop$2,
|
8819
9317
|
lineStart: function() {
|
8820
9318
|
lengthStream$1.point = lengthPointFirst$1;
|
8821
9319
|
},
|
8822
9320
|
lineEnd: function() {
|
8823
9321
|
if (lengthRing) lengthPoint$1(x00$2, y00$2);
|
8824
|
-
lengthStream$1.point = noop$
|
9322
|
+
lengthStream$1.point = noop$2;
|
8825
9323
|
},
|
8826
9324
|
polygonStart: function() {
|
8827
9325
|
lengthRing = true;
|
@@ -9032,8 +9530,8 @@ function fitHeight(projection, height, object) {
|
|
9032
9530
|
}, object);
|
9033
9531
|
}
|
9034
9532
|
|
9035
|
-
var maxDepth = 16
|
9036
|
-
|
9533
|
+
var maxDepth = 16, // maximum depth of subdivision
|
9534
|
+
cosMinDistance = cos$1(30 * radians); // cos(minimum angular distance)
|
9037
9535
|
|
9038
9536
|
function resample(project, delta2) {
|
9039
9537
|
return +delta2 ? resample$1(project, delta2) : resampleNone(project);
|
@@ -9146,6 +9644,34 @@ function transformRotate(rotate) {
|
|
9146
9644
|
});
|
9147
9645
|
}
|
9148
9646
|
|
9647
|
+
function scaleTranslate(k, dx, dy) {
|
9648
|
+
function transform$$1(x, y) {
|
9649
|
+
return [dx + k * x, dy - k * y];
|
9650
|
+
}
|
9651
|
+
transform$$1.invert = function(x, y) {
|
9652
|
+
return [(x - dx) / k, (dy - y) / k];
|
9653
|
+
};
|
9654
|
+
return transform$$1;
|
9655
|
+
}
|
9656
|
+
|
9657
|
+
function scaleTranslateRotate(k, dx, dy, alpha) {
|
9658
|
+
var cosAlpha = cos$1(alpha),
|
9659
|
+
sinAlpha = sin$1(alpha),
|
9660
|
+
a = cosAlpha * k,
|
9661
|
+
b = sinAlpha * k,
|
9662
|
+
ai = cosAlpha / k,
|
9663
|
+
bi = sinAlpha / k,
|
9664
|
+
ci = (sinAlpha * dy - cosAlpha * dx) / k,
|
9665
|
+
fi = (sinAlpha * dx + cosAlpha * dy) / k;
|
9666
|
+
function transform$$1(x, y) {
|
9667
|
+
return [a * x - b * y + dx, dy - b * x - a * y];
|
9668
|
+
}
|
9669
|
+
transform$$1.invert = function(x, y) {
|
9670
|
+
return [ai * x - bi * y + ci, fi - bi * x - ai * y];
|
9671
|
+
};
|
9672
|
+
return transform$$1;
|
9673
|
+
}
|
9674
|
+
|
9149
9675
|
function projection(project) {
|
9150
9676
|
return projectionMutator(function() { return project; })();
|
9151
9677
|
}
|
@@ -9154,28 +9680,27 @@ function projectionMutator(projectAt) {
|
|
9154
9680
|
var project,
|
9155
9681
|
k = 150, // scale
|
9156
9682
|
x = 480, y = 250, // translate
|
9157
|
-
|
9158
|
-
deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate,
|
9159
|
-
|
9160
|
-
|
9161
|
-
|
9683
|
+
lambda = 0, phi = 0, // center
|
9684
|
+
deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate
|
9685
|
+
alpha = 0, // post-rotate
|
9686
|
+
theta = null, preclip = clipAntimeridian, // pre-clip angle
|
9687
|
+
x0 = null, y0, x1, y1, postclip = identity$4, // post-clip extent
|
9688
|
+
delta2 = 0.5, // precision
|
9689
|
+
projectResample,
|
9690
|
+
projectTransform,
|
9691
|
+
projectRotateTransform,
|
9162
9692
|
cache,
|
9163
9693
|
cacheStream;
|
9164
9694
|
|
9165
9695
|
function projection(point) {
|
9166
|
-
|
9167
|
-
return [point[0] * k + dx, dy - point[1] * k];
|
9696
|
+
return projectRotateTransform(point[0] * radians, point[1] * radians);
|
9168
9697
|
}
|
9169
9698
|
|
9170
9699
|
function invert(point) {
|
9171
|
-
point =
|
9700
|
+
point = projectRotateTransform.invert(point[0], point[1]);
|
9172
9701
|
return point && [point[0] * degrees$1, point[1] * degrees$1];
|
9173
9702
|
}
|
9174
9703
|
|
9175
|
-
function projectTransform(x, y) {
|
9176
|
-
return x = project(x, y), [x[0] * k + dx, dy - x[1] * k];
|
9177
|
-
}
|
9178
|
-
|
9179
9704
|
projection.stream = function(stream) {
|
9180
9705
|
return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));
|
9181
9706
|
};
|
@@ -9212,6 +9737,10 @@ function projectionMutator(projectAt) {
|
|
9212
9737
|
return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees$1, deltaPhi * degrees$1, deltaGamma * degrees$1];
|
9213
9738
|
};
|
9214
9739
|
|
9740
|
+
projection.angle = function(_) {
|
9741
|
+
return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees$1;
|
9742
|
+
};
|
9743
|
+
|
9215
9744
|
projection.precision = function(_) {
|
9216
9745
|
return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);
|
9217
9746
|
};
|
@@ -9233,10 +9762,12 @@ function projectionMutator(projectAt) {
|
|
9233
9762
|
};
|
9234
9763
|
|
9235
9764
|
function recenter() {
|
9236
|
-
|
9237
|
-
|
9238
|
-
|
9239
|
-
|
9765
|
+
var center = scaleTranslateRotate(k, 0, 0, alpha).apply(null, project(lambda, phi)),
|
9766
|
+
transform$$1 = (alpha ? scaleTranslateRotate : scaleTranslate)(k, x - center[0], y - center[1], alpha);
|
9767
|
+
rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);
|
9768
|
+
projectTransform = compose(project, transform$$1);
|
9769
|
+
projectRotateTransform = compose(rotate, projectTransform);
|
9770
|
+
projectResample = resample(projectTransform, delta2);
|
9240
9771
|
return reset();
|
9241
9772
|
}
|
9242
9773
|
|
@@ -9605,7 +10136,7 @@ function gnomonic() {
|
|
9605
10136
|
.clipAngle(60);
|
9606
10137
|
}
|
9607
10138
|
|
9608
|
-
function scaleTranslate(kx, ky, tx, ty) {
|
10139
|
+
function scaleTranslate$1(kx, ky, tx, ty) {
|
9609
10140
|
return kx === 1 && ky === 1 && tx === 0 && ty === 0 ? identity$4 : transformer({
|
9610
10141
|
point: function(x, y) {
|
9611
10142
|
this.stream.point(x * kx + tx, y * ky + ty);
|
@@ -9637,16 +10168,16 @@ function identity$5() {
|
|
9637
10168
|
return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity$4) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];
|
9638
10169
|
},
|
9639
10170
|
scale: function(_) {
|
9640
|
-
return arguments.length ? (transform$$1 = scaleTranslate((k = +_) * sx, k * sy, tx, ty), reset()) : k;
|
10171
|
+
return arguments.length ? (transform$$1 = scaleTranslate$1((k = +_) * sx, k * sy, tx, ty), reset()) : k;
|
9641
10172
|
},
|
9642
10173
|
translate: function(_) {
|
9643
|
-
return arguments.length ? (transform$$1 = scaleTranslate(k * sx, k * sy, tx = +_[0], ty = +_[1]), reset()) : [tx, ty];
|
10174
|
+
return arguments.length ? (transform$$1 = scaleTranslate$1(k * sx, k * sy, tx = +_[0], ty = +_[1]), reset()) : [tx, ty];
|
9644
10175
|
},
|
9645
10176
|
reflectX: function(_) {
|
9646
|
-
return arguments.length ? (transform$$1 = scaleTranslate(k * (sx = _ ? -1 : 1), k * sy, tx, ty), reset()) : sx < 0;
|
10177
|
+
return arguments.length ? (transform$$1 = scaleTranslate$1(k * (sx = _ ? -1 : 1), k * sy, tx, ty), reset()) : sx < 0;
|
9647
10178
|
},
|
9648
10179
|
reflectY: function(_) {
|
9649
|
-
return arguments.length ? (transform$$1 = scaleTranslate(k * sx, k * (sy = _ ? -1 : 1), tx, ty), reset()) : sy < 0;
|
10180
|
+
return arguments.length ? (transform$$1 = scaleTranslate$1(k * sx, k * (sy = _ ? -1 : 1), tx, ty), reset()) : sy < 0;
|
9650
10181
|
},
|
9651
10182
|
fitExtent: function(extent, object) {
|
9652
10183
|
return fitExtent(projection, extent, object);
|
@@ -10031,7 +10562,7 @@ Node.prototype = hierarchy.prototype = {
|
|
10031
10562
|
copy: node_copy
|
10032
10563
|
};
|
10033
10564
|
|
10034
|
-
var slice$
|
10565
|
+
var slice$4 = Array.prototype.slice;
|
10035
10566
|
|
10036
10567
|
function shuffle$1(array) {
|
10037
10568
|
var m = array.length,
|
@@ -10049,7 +10580,7 @@ function shuffle$1(array) {
|
|
10049
10580
|
}
|
10050
10581
|
|
10051
10582
|
function enclose(circles) {
|
10052
|
-
var i = 0, n = (circles = shuffle$1(slice$
|
10583
|
+
var i = 0, n = (circles = shuffle$1(slice$4.call(circles))).length, B = [], p, e;
|
10053
10584
|
|
10054
10585
|
while (i < n) {
|
10055
10586
|
p = circles[i];
|
@@ -10165,30 +10696,33 @@ function encloseBasis3(a, b, c) {
|
|
10165
10696
|
};
|
10166
10697
|
}
|
10167
10698
|
|
10168
|
-
function place(
|
10169
|
-
var
|
10170
|
-
|
10171
|
-
|
10172
|
-
|
10173
|
-
|
10174
|
-
|
10175
|
-
|
10176
|
-
|
10177
|
-
|
10178
|
-
|
10179
|
-
|
10180
|
-
|
10699
|
+
function place(b, a, c) {
|
10700
|
+
var dx = b.x - a.x, x, a2,
|
10701
|
+
dy = b.y - a.y, y, b2,
|
10702
|
+
d2 = dx * dx + dy * dy;
|
10703
|
+
if (d2) {
|
10704
|
+
a2 = a.r + c.r, a2 *= a2;
|
10705
|
+
b2 = b.r + c.r, b2 *= b2;
|
10706
|
+
if (a2 > b2) {
|
10707
|
+
x = (d2 + b2 - a2) / (2 * d2);
|
10708
|
+
y = Math.sqrt(Math.max(0, b2 / d2 - x * x));
|
10709
|
+
c.x = b.x - x * dx - y * dy;
|
10710
|
+
c.y = b.y - x * dy + y * dx;
|
10711
|
+
} else {
|
10712
|
+
x = (d2 + a2 - b2) / (2 * d2);
|
10713
|
+
y = Math.sqrt(Math.max(0, a2 / d2 - x * x));
|
10714
|
+
c.x = a.x + x * dx - y * dy;
|
10715
|
+
c.y = a.y + x * dy + y * dx;
|
10716
|
+
}
|
10181
10717
|
} else {
|
10182
|
-
c.x =
|
10183
|
-
c.y =
|
10718
|
+
c.x = a.x + c.r;
|
10719
|
+
c.y = a.y;
|
10184
10720
|
}
|
10185
10721
|
}
|
10186
10722
|
|
10187
10723
|
function intersects(a, b) {
|
10188
|
-
var dx = b.x - a.x,
|
10189
|
-
|
10190
|
-
dr = a.r + b.r;
|
10191
|
-
return dr * dr - 1e-6 > dx * dx + dy * dy;
|
10724
|
+
var dr = a.r + b.r - 1e-6, dx = b.x - a.x, dy = b.y - a.y;
|
10725
|
+
return dr > 0 && dr * dr > dx * dx + dy * dy;
|
10192
10726
|
}
|
10193
10727
|
|
10194
10728
|
function score(node) {
|
@@ -10292,7 +10826,7 @@ function constantZero() {
|
|
10292
10826
|
return 0;
|
10293
10827
|
}
|
10294
10828
|
|
10295
|
-
function constant$
|
10829
|
+
function constant$9(x) {
|
10296
10830
|
return function() {
|
10297
10831
|
return x;
|
10298
10832
|
};
|
@@ -10332,7 +10866,7 @@ function index$2() {
|
|
10332
10866
|
};
|
10333
10867
|
|
10334
10868
|
pack.padding = function(x) {
|
10335
|
-
return arguments.length ? (padding = typeof x === "function" ? x : constant$
|
10869
|
+
return arguments.length ? (padding = typeof x === "function" ? x : constant$9(+x), pack) : padding;
|
10336
10870
|
};
|
10337
10871
|
|
10338
10872
|
return pack;
|
@@ -10444,9 +10978,9 @@ function partition() {
|
|
10444
10978
|
return partition;
|
10445
10979
|
}
|
10446
10980
|
|
10447
|
-
var keyPrefix$1 = "$"
|
10448
|
-
|
10449
|
-
|
10981
|
+
var keyPrefix$1 = "$", // Protect against keys like “__proto__”.
|
10982
|
+
preroot = {depth: -1},
|
10983
|
+
ambiguous = {};
|
10450
10984
|
|
10451
10985
|
function defaultId(d) {
|
10452
10986
|
return d.id;
|
@@ -10892,7 +11426,7 @@ function index$3() {
|
|
10892
11426
|
};
|
10893
11427
|
|
10894
11428
|
treemap.paddingInner = function(x) {
|
10895
|
-
return arguments.length ? (paddingInner = typeof x === "function" ? x : constant$
|
11429
|
+
return arguments.length ? (paddingInner = typeof x === "function" ? x : constant$9(+x), treemap) : paddingInner;
|
10896
11430
|
};
|
10897
11431
|
|
10898
11432
|
treemap.paddingOuter = function(x) {
|
@@ -10900,19 +11434,19 @@ function index$3() {
|
|
10900
11434
|
};
|
10901
11435
|
|
10902
11436
|
treemap.paddingTop = function(x) {
|
10903
|
-
return arguments.length ? (paddingTop = typeof x === "function" ? x : constant$
|
11437
|
+
return arguments.length ? (paddingTop = typeof x === "function" ? x : constant$9(+x), treemap) : paddingTop;
|
10904
11438
|
};
|
10905
11439
|
|
10906
11440
|
treemap.paddingRight = function(x) {
|
10907
|
-
return arguments.length ? (paddingRight = typeof x === "function" ? x : constant$
|
11441
|
+
return arguments.length ? (paddingRight = typeof x === "function" ? x : constant$9(+x), treemap) : paddingRight;
|
10908
11442
|
};
|
10909
11443
|
|
10910
11444
|
treemap.paddingBottom = function(x) {
|
10911
|
-
return arguments.length ? (paddingBottom = typeof x === "function" ? x : constant$
|
11445
|
+
return arguments.length ? (paddingBottom = typeof x === "function" ? x : constant$9(+x), treemap) : paddingBottom;
|
10912
11446
|
};
|
10913
11447
|
|
10914
11448
|
treemap.paddingLeft = function(x) {
|
10915
|
-
return arguments.length ? (paddingLeft = typeof x === "function" ? x : constant$
|
11449
|
+
return arguments.length ? (paddingLeft = typeof x === "function" ? x : constant$9(+x), treemap) : paddingLeft;
|
10916
11450
|
};
|
10917
11451
|
|
10918
11452
|
return treemap;
|
@@ -11002,7 +11536,7 @@ var resquarify = (function custom(ratio) {
|
|
11002
11536
|
return resquarify;
|
11003
11537
|
})(phi);
|
11004
11538
|
|
11005
|
-
function area$
|
11539
|
+
function area$2(polygon) {
|
11006
11540
|
var i = -1,
|
11007
11541
|
n = polygon.length,
|
11008
11542
|
a,
|
@@ -11095,7 +11629,7 @@ function hull(points) {
|
|
11095
11629
|
return hull;
|
11096
11630
|
}
|
11097
11631
|
|
11098
|
-
function contains$
|
11632
|
+
function contains$2(polygon, point) {
|
11099
11633
|
var n = polygon.length,
|
11100
11634
|
p = polygon[n - 1],
|
11101
11635
|
x = point[0], y = point[1],
|
@@ -11136,128 +11670,6 @@ function length$2(polygon) {
|
|
11136
11670
|
return perimeter;
|
11137
11671
|
}
|
11138
11672
|
|
11139
|
-
var slice$4 = [].slice;
|
11140
|
-
|
11141
|
-
var noabort = {};
|
11142
|
-
|
11143
|
-
function Queue(size) {
|
11144
|
-
this._size = size;
|
11145
|
-
this._call =
|
11146
|
-
this._error = null;
|
11147
|
-
this._tasks = [];
|
11148
|
-
this._data = [];
|
11149
|
-
this._waiting =
|
11150
|
-
this._active =
|
11151
|
-
this._ended =
|
11152
|
-
this._start = 0; // inside a synchronous task callback?
|
11153
|
-
}
|
11154
|
-
|
11155
|
-
Queue.prototype = queue.prototype = {
|
11156
|
-
constructor: Queue,
|
11157
|
-
defer: function(callback) {
|
11158
|
-
if (typeof callback !== "function") throw new Error("invalid callback");
|
11159
|
-
if (this._call) throw new Error("defer after await");
|
11160
|
-
if (this._error != null) return this;
|
11161
|
-
var t = slice$4.call(arguments, 1);
|
11162
|
-
t.push(callback);
|
11163
|
-
++this._waiting, this._tasks.push(t);
|
11164
|
-
poke$1(this);
|
11165
|
-
return this;
|
11166
|
-
},
|
11167
|
-
abort: function() {
|
11168
|
-
if (this._error == null) abort(this, new Error("abort"));
|
11169
|
-
return this;
|
11170
|
-
},
|
11171
|
-
await: function(callback) {
|
11172
|
-
if (typeof callback !== "function") throw new Error("invalid callback");
|
11173
|
-
if (this._call) throw new Error("multiple await");
|
11174
|
-
this._call = function(error, results) { callback.apply(null, [error].concat(results)); };
|
11175
|
-
maybeNotify(this);
|
11176
|
-
return this;
|
11177
|
-
},
|
11178
|
-
awaitAll: function(callback) {
|
11179
|
-
if (typeof callback !== "function") throw new Error("invalid callback");
|
11180
|
-
if (this._call) throw new Error("multiple await");
|
11181
|
-
this._call = callback;
|
11182
|
-
maybeNotify(this);
|
11183
|
-
return this;
|
11184
|
-
}
|
11185
|
-
};
|
11186
|
-
|
11187
|
-
function poke$1(q) {
|
11188
|
-
if (!q._start) {
|
11189
|
-
try { start$1(q); } // let the current task complete
|
11190
|
-
catch (e) {
|
11191
|
-
if (q._tasks[q._ended + q._active - 1]) abort(q, e); // task errored synchronously
|
11192
|
-
else if (!q._data) throw e; // await callback errored synchronously
|
11193
|
-
}
|
11194
|
-
}
|
11195
|
-
}
|
11196
|
-
|
11197
|
-
function start$1(q) {
|
11198
|
-
while (q._start = q._waiting && q._active < q._size) {
|
11199
|
-
var i = q._ended + q._active,
|
11200
|
-
t = q._tasks[i],
|
11201
|
-
j = t.length - 1,
|
11202
|
-
c = t[j];
|
11203
|
-
t[j] = end(q, i);
|
11204
|
-
--q._waiting, ++q._active;
|
11205
|
-
t = c.apply(null, t);
|
11206
|
-
if (!q._tasks[i]) continue; // task finished synchronously
|
11207
|
-
q._tasks[i] = t || noabort;
|
11208
|
-
}
|
11209
|
-
}
|
11210
|
-
|
11211
|
-
function end(q, i) {
|
11212
|
-
return function(e, r) {
|
11213
|
-
if (!q._tasks[i]) return; // ignore multiple callbacks
|
11214
|
-
--q._active, ++q._ended;
|
11215
|
-
q._tasks[i] = null;
|
11216
|
-
if (q._error != null) return; // ignore secondary errors
|
11217
|
-
if (e != null) {
|
11218
|
-
abort(q, e);
|
11219
|
-
} else {
|
11220
|
-
q._data[i] = r;
|
11221
|
-
if (q._waiting) poke$1(q);
|
11222
|
-
else maybeNotify(q);
|
11223
|
-
}
|
11224
|
-
};
|
11225
|
-
}
|
11226
|
-
|
11227
|
-
function abort(q, e) {
|
11228
|
-
var i = q._tasks.length, t;
|
11229
|
-
q._error = e; // ignore active callbacks
|
11230
|
-
q._data = undefined; // allow gc
|
11231
|
-
q._waiting = NaN; // prevent starting
|
11232
|
-
|
11233
|
-
while (--i >= 0) {
|
11234
|
-
if (t = q._tasks[i]) {
|
11235
|
-
q._tasks[i] = null;
|
11236
|
-
if (t.abort) {
|
11237
|
-
try { t.abort(); }
|
11238
|
-
catch (e) { /* ignore */ }
|
11239
|
-
}
|
11240
|
-
}
|
11241
|
-
}
|
11242
|
-
|
11243
|
-
q._active = NaN; // allow notification
|
11244
|
-
maybeNotify(q);
|
11245
|
-
}
|
11246
|
-
|
11247
|
-
function maybeNotify(q) {
|
11248
|
-
if (!q._active && q._call) {
|
11249
|
-
var d = q._data;
|
11250
|
-
q._data = undefined; // allow gc
|
11251
|
-
q._call(q._error, d);
|
11252
|
-
}
|
11253
|
-
}
|
11254
|
-
|
11255
|
-
function queue(concurrency) {
|
11256
|
-
if (concurrency == null) concurrency = Infinity;
|
11257
|
-
else if (!((concurrency = +concurrency) >= 1)) throw new Error("invalid concurrency");
|
11258
|
-
return new Queue(concurrency);
|
11259
|
-
}
|
11260
|
-
|
11261
11673
|
function defaultSource$1() {
|
11262
11674
|
return Math.random();
|
11263
11675
|
}
|
@@ -11356,208 +11768,10 @@ var exponential$1 = (function sourceRandomExponential(source) {
|
|
11356
11768
|
return randomExponential;
|
11357
11769
|
})(defaultSource$1);
|
11358
11770
|
|
11359
|
-
|
11360
|
-
var request,
|
11361
|
-
event = dispatch("beforesend", "progress", "load", "error"),
|
11362
|
-
mimeType,
|
11363
|
-
headers = map$1(),
|
11364
|
-
xhr = new XMLHttpRequest,
|
11365
|
-
user = null,
|
11366
|
-
password = null,
|
11367
|
-
response,
|
11368
|
-
responseType,
|
11369
|
-
timeout = 0;
|
11370
|
-
|
11371
|
-
// If IE does not support CORS, use XDomainRequest.
|
11372
|
-
if (typeof XDomainRequest !== "undefined"
|
11373
|
-
&& !("withCredentials" in xhr)
|
11374
|
-
&& /^(http(s)?:)?\/\//.test(url)) xhr = new XDomainRequest;
|
11375
|
-
|
11376
|
-
"onload" in xhr
|
11377
|
-
? xhr.onload = xhr.onerror = xhr.ontimeout = respond
|
11378
|
-
: xhr.onreadystatechange = function(o) { xhr.readyState > 3 && respond(o); };
|
11379
|
-
|
11380
|
-
function respond(o) {
|
11381
|
-
var status = xhr.status, result;
|
11382
|
-
if (!status && hasResponse(xhr)
|
11383
|
-
|| status >= 200 && status < 300
|
11384
|
-
|| status === 304) {
|
11385
|
-
if (response) {
|
11386
|
-
try {
|
11387
|
-
result = response.call(request, xhr);
|
11388
|
-
} catch (e) {
|
11389
|
-
event.call("error", request, e);
|
11390
|
-
return;
|
11391
|
-
}
|
11392
|
-
} else {
|
11393
|
-
result = xhr;
|
11394
|
-
}
|
11395
|
-
event.call("load", request, result);
|
11396
|
-
} else {
|
11397
|
-
event.call("error", request, o);
|
11398
|
-
}
|
11399
|
-
}
|
11400
|
-
|
11401
|
-
xhr.onprogress = function(e) {
|
11402
|
-
event.call("progress", request, e);
|
11403
|
-
};
|
11404
|
-
|
11405
|
-
request = {
|
11406
|
-
header: function(name, value) {
|
11407
|
-
name = (name + "").toLowerCase();
|
11408
|
-
if (arguments.length < 2) return headers.get(name);
|
11409
|
-
if (value == null) headers.remove(name);
|
11410
|
-
else headers.set(name, value + "");
|
11411
|
-
return request;
|
11412
|
-
},
|
11413
|
-
|
11414
|
-
// If mimeType is non-null and no Accept header is set, a default is used.
|
11415
|
-
mimeType: function(value) {
|
11416
|
-
if (!arguments.length) return mimeType;
|
11417
|
-
mimeType = value == null ? null : value + "";
|
11418
|
-
return request;
|
11419
|
-
},
|
11420
|
-
|
11421
|
-
// Specifies what type the response value should take;
|
11422
|
-
// for instance, arraybuffer, blob, document, or text.
|
11423
|
-
responseType: function(value) {
|
11424
|
-
if (!arguments.length) return responseType;
|
11425
|
-
responseType = value;
|
11426
|
-
return request;
|
11427
|
-
},
|
11428
|
-
|
11429
|
-
timeout: function(value) {
|
11430
|
-
if (!arguments.length) return timeout;
|
11431
|
-
timeout = +value;
|
11432
|
-
return request;
|
11433
|
-
},
|
11434
|
-
|
11435
|
-
user: function(value) {
|
11436
|
-
return arguments.length < 1 ? user : (user = value == null ? null : value + "", request);
|
11437
|
-
},
|
11438
|
-
|
11439
|
-
password: function(value) {
|
11440
|
-
return arguments.length < 1 ? password : (password = value == null ? null : value + "", request);
|
11441
|
-
},
|
11442
|
-
|
11443
|
-
// Specify how to convert the response content to a specific type;
|
11444
|
-
// changes the callback value on "load" events.
|
11445
|
-
response: function(value) {
|
11446
|
-
response = value;
|
11447
|
-
return request;
|
11448
|
-
},
|
11449
|
-
|
11450
|
-
// Alias for send("GET", …).
|
11451
|
-
get: function(data, callback) {
|
11452
|
-
return request.send("GET", data, callback);
|
11453
|
-
},
|
11454
|
-
|
11455
|
-
// Alias for send("POST", …).
|
11456
|
-
post: function(data, callback) {
|
11457
|
-
return request.send("POST", data, callback);
|
11458
|
-
},
|
11459
|
-
|
11460
|
-
// If callback is non-null, it will be used for error and load events.
|
11461
|
-
send: function(method, data, callback) {
|
11462
|
-
xhr.open(method, url, true, user, password);
|
11463
|
-
if (mimeType != null && !headers.has("accept")) headers.set("accept", mimeType + ",*/*");
|
11464
|
-
if (xhr.setRequestHeader) headers.each(function(value, name) { xhr.setRequestHeader(name, value); });
|
11465
|
-
if (mimeType != null && xhr.overrideMimeType) xhr.overrideMimeType(mimeType);
|
11466
|
-
if (responseType != null) xhr.responseType = responseType;
|
11467
|
-
if (timeout > 0) xhr.timeout = timeout;
|
11468
|
-
if (callback == null && typeof data === "function") callback = data, data = null;
|
11469
|
-
if (callback != null && callback.length === 1) callback = fixCallback(callback);
|
11470
|
-
if (callback != null) request.on("error", callback).on("load", function(xhr) { callback(null, xhr); });
|
11471
|
-
event.call("beforesend", request, xhr);
|
11472
|
-
xhr.send(data == null ? null : data);
|
11473
|
-
return request;
|
11474
|
-
},
|
11475
|
-
|
11476
|
-
abort: function() {
|
11477
|
-
xhr.abort();
|
11478
|
-
return request;
|
11479
|
-
},
|
11480
|
-
|
11481
|
-
on: function() {
|
11482
|
-
var value = event.on.apply(event, arguments);
|
11483
|
-
return value === event ? request : value;
|
11484
|
-
}
|
11485
|
-
};
|
11486
|
-
|
11487
|
-
if (callback != null) {
|
11488
|
-
if (typeof callback !== "function") throw new Error("invalid callback: " + callback);
|
11489
|
-
return request.get(callback);
|
11490
|
-
}
|
11491
|
-
|
11492
|
-
return request;
|
11493
|
-
}
|
11494
|
-
|
11495
|
-
function fixCallback(callback) {
|
11496
|
-
return function(error, xhr) {
|
11497
|
-
callback(error == null ? xhr : null);
|
11498
|
-
};
|
11499
|
-
}
|
11500
|
-
|
11501
|
-
function hasResponse(xhr) {
|
11502
|
-
var type = xhr.responseType;
|
11503
|
-
return type && type !== "text"
|
11504
|
-
? xhr.response // null on error
|
11505
|
-
: xhr.responseText; // "" on error
|
11506
|
-
}
|
11507
|
-
|
11508
|
-
function type$1(defaultMimeType, response) {
|
11509
|
-
return function(url, callback) {
|
11510
|
-
var r = request(url).mimeType(defaultMimeType).response(response);
|
11511
|
-
if (callback != null) {
|
11512
|
-
if (typeof callback !== "function") throw new Error("invalid callback: " + callback);
|
11513
|
-
return r.get(callback);
|
11514
|
-
}
|
11515
|
-
return r;
|
11516
|
-
};
|
11517
|
-
}
|
11518
|
-
|
11519
|
-
var html = type$1("text/html", function(xhr) {
|
11520
|
-
return document.createRange().createContextualFragment(xhr.responseText);
|
11521
|
-
});
|
11522
|
-
|
11523
|
-
var json = type$1("application/json", function(xhr) {
|
11524
|
-
return JSON.parse(xhr.responseText);
|
11525
|
-
});
|
11526
|
-
|
11527
|
-
var text = type$1("text/plain", function(xhr) {
|
11528
|
-
return xhr.responseText;
|
11529
|
-
});
|
11530
|
-
|
11531
|
-
var xml = type$1("application/xml", function(xhr) {
|
11532
|
-
var xml = xhr.responseXML;
|
11533
|
-
if (!xml) throw new Error("parse error");
|
11534
|
-
return xml;
|
11535
|
-
});
|
11771
|
+
var array$3 = Array.prototype;
|
11536
11772
|
|
11537
|
-
|
11538
|
-
|
11539
|
-
if (arguments.length < 3) callback = row, row = null;
|
11540
|
-
var r = request(url).mimeType(defaultMimeType);
|
11541
|
-
r.row = function(_) { return arguments.length ? r.response(responseOf(parse, row = _)) : row; };
|
11542
|
-
r.row(row);
|
11543
|
-
return callback ? r.get(callback) : r;
|
11544
|
-
};
|
11545
|
-
}
|
11546
|
-
|
11547
|
-
function responseOf(parse, row) {
|
11548
|
-
return function(request$$1) {
|
11549
|
-
return parse(request$$1.responseText, row);
|
11550
|
-
};
|
11551
|
-
}
|
11552
|
-
|
11553
|
-
var csv$1 = dsv$1("text/csv", csvParse);
|
11554
|
-
|
11555
|
-
var tsv$1 = dsv$1("text/tab-separated-values", tsvParse);
|
11556
|
-
|
11557
|
-
var array$2 = Array.prototype;
|
11558
|
-
|
11559
|
-
var map$3 = array$2.map;
|
11560
|
-
var slice$5 = array$2.slice;
|
11773
|
+
var map$2 = array$3.map;
|
11774
|
+
var slice$5 = array$3.slice;
|
11561
11775
|
|
11562
11776
|
var implicit = {name: "implicit"};
|
11563
11777
|
|
@@ -11702,7 +11916,7 @@ function point$1() {
|
|
11702
11916
|
return pointish(band().paddingInner(1));
|
11703
11917
|
}
|
11704
11918
|
|
11705
|
-
function constant$
|
11919
|
+
function constant$10(x) {
|
11706
11920
|
return function() {
|
11707
11921
|
return x;
|
11708
11922
|
};
|
@@ -11717,7 +11931,7 @@ var unit = [0, 1];
|
|
11717
11931
|
function deinterpolateLinear(a, b) {
|
11718
11932
|
return (b -= (a = +a))
|
11719
11933
|
? function(x) { return (x - a) / b; }
|
11720
|
-
: constant$
|
11934
|
+
: constant$10(b);
|
11721
11935
|
}
|
11722
11936
|
|
11723
11937
|
function deinterpolateClamp(deinterpolate) {
|
@@ -11727,21 +11941,21 @@ function deinterpolateClamp(deinterpolate) {
|
|
11727
11941
|
};
|
11728
11942
|
}
|
11729
11943
|
|
11730
|
-
function reinterpolateClamp(reinterpolate) {
|
11944
|
+
function reinterpolateClamp(reinterpolate$$1) {
|
11731
11945
|
return function(a, b) {
|
11732
|
-
var r = reinterpolate(a = +a, b = +b);
|
11946
|
+
var r = reinterpolate$$1(a = +a, b = +b);
|
11733
11947
|
return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); };
|
11734
11948
|
};
|
11735
11949
|
}
|
11736
11950
|
|
11737
|
-
function bimap(domain, range, deinterpolate, reinterpolate) {
|
11951
|
+
function bimap(domain, range, deinterpolate, reinterpolate$$1) {
|
11738
11952
|
var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];
|
11739
|
-
if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0);
|
11740
|
-
else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1);
|
11953
|
+
if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate$$1(r1, r0);
|
11954
|
+
else d0 = deinterpolate(d0, d1), r0 = reinterpolate$$1(r0, r1);
|
11741
11955
|
return function(x) { return r0(d0(x)); };
|
11742
11956
|
}
|
11743
11957
|
|
11744
|
-
function polymap(domain, range, deinterpolate, reinterpolate) {
|
11958
|
+
function polymap(domain, range, deinterpolate, reinterpolate$$1) {
|
11745
11959
|
var j = Math.min(domain.length, range.length) - 1,
|
11746
11960
|
d = new Array(j),
|
11747
11961
|
r = new Array(j),
|
@@ -11755,7 +11969,7 @@ function polymap(domain, range, deinterpolate, reinterpolate) {
|
|
11755
11969
|
|
11756
11970
|
while (++i < j) {
|
11757
11971
|
d[i] = deinterpolate(domain[i], domain[i + 1]);
|
11758
|
-
r[i] = reinterpolate(range[i], range[i + 1]);
|
11972
|
+
r[i] = reinterpolate$$1(range[i], range[i + 1]);
|
11759
11973
|
}
|
11760
11974
|
|
11761
11975
|
return function(x) {
|
@@ -11774,31 +11988,31 @@ function copy(source, target) {
|
|
11774
11988
|
|
11775
11989
|
// deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].
|
11776
11990
|
// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].
|
11777
|
-
function continuous(deinterpolate, reinterpolate) {
|
11991
|
+
function continuous(deinterpolate, reinterpolate$$1) {
|
11778
11992
|
var domain = unit,
|
11779
11993
|
range = unit,
|
11780
11994
|
interpolate$$1 = interpolateValue,
|
11781
11995
|
clamp = false,
|
11782
|
-
piecewise,
|
11996
|
+
piecewise$$1,
|
11783
11997
|
output,
|
11784
11998
|
input;
|
11785
11999
|
|
11786
12000
|
function rescale() {
|
11787
|
-
piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;
|
12001
|
+
piecewise$$1 = Math.min(domain.length, range.length) > 2 ? polymap : bimap;
|
11788
12002
|
output = input = null;
|
11789
12003
|
return scale;
|
11790
12004
|
}
|
11791
12005
|
|
11792
12006
|
function scale(x) {
|
11793
|
-
return (output || (output = piecewise(domain, range, clamp ? deinterpolateClamp(deinterpolate) : deinterpolate, interpolate$$1)))(+x);
|
12007
|
+
return (output || (output = piecewise$$1(domain, range, clamp ? deinterpolateClamp(deinterpolate) : deinterpolate, interpolate$$1)))(+x);
|
11794
12008
|
}
|
11795
12009
|
|
11796
12010
|
scale.invert = function(y) {
|
11797
|
-
return (input || (input = piecewise(range, domain, deinterpolateLinear, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate)))(+y);
|
12011
|
+
return (input || (input = piecewise$$1(range, domain, deinterpolateLinear, clamp ? reinterpolateClamp(reinterpolate$$1) : reinterpolate$$1)))(+y);
|
11798
12012
|
};
|
11799
12013
|
|
11800
12014
|
scale.domain = function(_) {
|
11801
|
-
return arguments.length ? (domain = map$
|
12015
|
+
return arguments.length ? (domain = map$2.call(_, number$2), rescale()) : domain.slice();
|
11802
12016
|
};
|
11803
12017
|
|
11804
12018
|
scale.range = function(_) {
|
@@ -11924,7 +12138,7 @@ function identity$6() {
|
|
11924
12138
|
scale.invert = scale;
|
11925
12139
|
|
11926
12140
|
scale.domain = scale.range = function(_) {
|
11927
|
-
return arguments.length ? (domain = map$
|
12141
|
+
return arguments.length ? (domain = map$2.call(_, number$2), scale) : domain.slice();
|
11928
12142
|
};
|
11929
12143
|
|
11930
12144
|
scale.copy = function() {
|
@@ -11956,7 +12170,7 @@ function nice(domain, interval) {
|
|
11956
12170
|
function deinterpolate(a, b) {
|
11957
12171
|
return (b = Math.log(b / a))
|
11958
12172
|
? function(x) { return Math.log(x / a) / b; }
|
11959
|
-
: constant$
|
12173
|
+
: constant$10(b);
|
11960
12174
|
}
|
11961
12175
|
|
11962
12176
|
function reinterpolate$1(a, b) {
|
@@ -12088,7 +12302,7 @@ function pow$1() {
|
|
12088
12302
|
function deinterpolate(a, b) {
|
12089
12303
|
return (b = raise$1(b, exponent) - (a = raise$1(a, exponent)))
|
12090
12304
|
? function(x) { return (raise$1(x, exponent) - a) / b; }
|
12091
|
-
: constant$
|
12305
|
+
: constant$10(b);
|
12092
12306
|
}
|
12093
12307
|
|
12094
12308
|
function reinterpolate(a, b) {
|
@@ -12234,8 +12448,8 @@ function threshold$1() {
|
|
12234
12448
|
return scale;
|
12235
12449
|
}
|
12236
12450
|
|
12237
|
-
var t0$1 = new Date
|
12238
|
-
|
12451
|
+
var t0$1 = new Date,
|
12452
|
+
t1$1 = new Date;
|
12239
12453
|
|
12240
12454
|
function newInterval(floori, offseti, count, field) {
|
12241
12455
|
|
@@ -12324,51 +12538,47 @@ millisecond.every = function(k) {
|
|
12324
12538
|
return (end - start) / k;
|
12325
12539
|
});
|
12326
12540
|
};
|
12327
|
-
|
12328
12541
|
var milliseconds = millisecond.range;
|
12329
12542
|
|
12330
|
-
var durationSecond
|
12331
|
-
var durationMinute
|
12332
|
-
var durationHour
|
12333
|
-
var durationDay
|
12334
|
-
var durationWeek
|
12543
|
+
var durationSecond = 1e3;
|
12544
|
+
var durationMinute = 6e4;
|
12545
|
+
var durationHour = 36e5;
|
12546
|
+
var durationDay = 864e5;
|
12547
|
+
var durationWeek = 6048e5;
|
12335
12548
|
|
12336
12549
|
var second = newInterval(function(date) {
|
12337
|
-
date.setTime(Math.floor(date / durationSecond
|
12550
|
+
date.setTime(Math.floor(date / durationSecond) * durationSecond);
|
12338
12551
|
}, function(date, step) {
|
12339
|
-
date.setTime(+date + step * durationSecond
|
12552
|
+
date.setTime(+date + step * durationSecond);
|
12340
12553
|
}, function(start, end) {
|
12341
|
-
return (end - start) / durationSecond
|
12554
|
+
return (end - start) / durationSecond;
|
12342
12555
|
}, function(date) {
|
12343
12556
|
return date.getUTCSeconds();
|
12344
12557
|
});
|
12345
|
-
|
12346
12558
|
var seconds = second.range;
|
12347
12559
|
|
12348
12560
|
var minute = newInterval(function(date) {
|
12349
|
-
date.setTime(Math.floor(date / durationMinute
|
12561
|
+
date.setTime(Math.floor(date / durationMinute) * durationMinute);
|
12350
12562
|
}, function(date, step) {
|
12351
|
-
date.setTime(+date + step * durationMinute
|
12563
|
+
date.setTime(+date + step * durationMinute);
|
12352
12564
|
}, function(start, end) {
|
12353
|
-
return (end - start) / durationMinute
|
12565
|
+
return (end - start) / durationMinute;
|
12354
12566
|
}, function(date) {
|
12355
12567
|
return date.getMinutes();
|
12356
12568
|
});
|
12357
|
-
|
12358
12569
|
var minutes = minute.range;
|
12359
12570
|
|
12360
12571
|
var hour = newInterval(function(date) {
|
12361
|
-
var offset = date.getTimezoneOffset() * durationMinute
|
12362
|
-
if (offset < 0) offset += durationHour
|
12363
|
-
date.setTime(Math.floor((+date - offset) / durationHour
|
12572
|
+
var offset = date.getTimezoneOffset() * durationMinute % durationHour;
|
12573
|
+
if (offset < 0) offset += durationHour;
|
12574
|
+
date.setTime(Math.floor((+date - offset) / durationHour) * durationHour + offset);
|
12364
12575
|
}, function(date, step) {
|
12365
|
-
date.setTime(+date + step * durationHour
|
12576
|
+
date.setTime(+date + step * durationHour);
|
12366
12577
|
}, function(start, end) {
|
12367
|
-
return (end - start) / durationHour
|
12578
|
+
return (end - start) / durationHour;
|
12368
12579
|
}, function(date) {
|
12369
12580
|
return date.getHours();
|
12370
12581
|
});
|
12371
|
-
|
12372
12582
|
var hours = hour.range;
|
12373
12583
|
|
12374
12584
|
var day = newInterval(function(date) {
|
@@ -12376,11 +12586,10 @@ var day = newInterval(function(date) {
|
|
12376
12586
|
}, function(date, step) {
|
12377
12587
|
date.setDate(date.getDate() + step);
|
12378
12588
|
}, function(start, end) {
|
12379
|
-
return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute
|
12589
|
+
return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay;
|
12380
12590
|
}, function(date) {
|
12381
12591
|
return date.getDate() - 1;
|
12382
12592
|
});
|
12383
|
-
|
12384
12593
|
var days = day.range;
|
12385
12594
|
|
12386
12595
|
function weekday(i) {
|
@@ -12390,7 +12599,7 @@ function weekday(i) {
|
|
12390
12599
|
}, function(date, step) {
|
12391
12600
|
date.setDate(date.getDate() + step * 7);
|
12392
12601
|
}, function(start, end) {
|
12393
|
-
return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute
|
12602
|
+
return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;
|
12394
12603
|
});
|
12395
12604
|
}
|
12396
12605
|
|
@@ -12420,7 +12629,6 @@ var month = newInterval(function(date) {
|
|
12420
12629
|
}, function(date) {
|
12421
12630
|
return date.getMonth();
|
12422
12631
|
});
|
12423
|
-
|
12424
12632
|
var months = month.range;
|
12425
12633
|
|
12426
12634
|
var year = newInterval(function(date) {
|
@@ -12444,31 +12652,28 @@ year.every = function(k) {
|
|
12444
12652
|
date.setFullYear(date.getFullYear() + step * k);
|
12445
12653
|
});
|
12446
12654
|
};
|
12447
|
-
|
12448
12655
|
var years = year.range;
|
12449
12656
|
|
12450
12657
|
var utcMinute = newInterval(function(date) {
|
12451
12658
|
date.setUTCSeconds(0, 0);
|
12452
12659
|
}, function(date, step) {
|
12453
|
-
date.setTime(+date + step * durationMinute
|
12660
|
+
date.setTime(+date + step * durationMinute);
|
12454
12661
|
}, function(start, end) {
|
12455
|
-
return (end - start) / durationMinute
|
12662
|
+
return (end - start) / durationMinute;
|
12456
12663
|
}, function(date) {
|
12457
12664
|
return date.getUTCMinutes();
|
12458
12665
|
});
|
12459
|
-
|
12460
12666
|
var utcMinutes = utcMinute.range;
|
12461
12667
|
|
12462
12668
|
var utcHour = newInterval(function(date) {
|
12463
12669
|
date.setUTCMinutes(0, 0, 0);
|
12464
12670
|
}, function(date, step) {
|
12465
|
-
date.setTime(+date + step * durationHour
|
12671
|
+
date.setTime(+date + step * durationHour);
|
12466
12672
|
}, function(start, end) {
|
12467
|
-
return (end - start) / durationHour
|
12673
|
+
return (end - start) / durationHour;
|
12468
12674
|
}, function(date) {
|
12469
12675
|
return date.getUTCHours();
|
12470
12676
|
});
|
12471
|
-
|
12472
12677
|
var utcHours = utcHour.range;
|
12473
12678
|
|
12474
12679
|
var utcDay = newInterval(function(date) {
|
@@ -12476,11 +12681,10 @@ var utcDay = newInterval(function(date) {
|
|
12476
12681
|
}, function(date, step) {
|
12477
12682
|
date.setUTCDate(date.getUTCDate() + step);
|
12478
12683
|
}, function(start, end) {
|
12479
|
-
return (end - start) / durationDay
|
12684
|
+
return (end - start) / durationDay;
|
12480
12685
|
}, function(date) {
|
12481
12686
|
return date.getUTCDate() - 1;
|
12482
12687
|
});
|
12483
|
-
|
12484
12688
|
var utcDays = utcDay.range;
|
12485
12689
|
|
12486
12690
|
function utcWeekday(i) {
|
@@ -12490,7 +12694,7 @@ function utcWeekday(i) {
|
|
12490
12694
|
}, function(date, step) {
|
12491
12695
|
date.setUTCDate(date.getUTCDate() + step * 7);
|
12492
12696
|
}, function(start, end) {
|
12493
|
-
return (end - start) / durationWeek
|
12697
|
+
return (end - start) / durationWeek;
|
12494
12698
|
});
|
12495
12699
|
}
|
12496
12700
|
|
@@ -12520,7 +12724,6 @@ var utcMonth = newInterval(function(date) {
|
|
12520
12724
|
}, function(date) {
|
12521
12725
|
return date.getUTCMonth();
|
12522
12726
|
});
|
12523
|
-
|
12524
12727
|
var utcMonths = utcMonth.range;
|
12525
12728
|
|
12526
12729
|
var utcYear = newInterval(function(date) {
|
@@ -12544,7 +12747,6 @@ utcYear.every = function(k) {
|
|
12544
12747
|
date.setUTCFullYear(date.getUTCFullYear() + step * k);
|
12545
12748
|
});
|
12546
12749
|
};
|
12547
|
-
|
12548
12750
|
var utcYears = utcYear.range;
|
12549
12751
|
|
12550
12752
|
function localDate(d) {
|
@@ -12897,10 +13099,10 @@ function formatLocale$1(locale) {
|
|
12897
13099
|
};
|
12898
13100
|
}
|
12899
13101
|
|
12900
|
-
var pads = {"-": "", "_": " ", "0": "0"}
|
12901
|
-
|
12902
|
-
|
12903
|
-
|
13102
|
+
var pads = {"-": "", "_": " ", "0": "0"},
|
13103
|
+
numberRe = /^\s*\d+/, // note: ignores next directive
|
13104
|
+
percentRe = /^%/,
|
13105
|
+
requoteRe = /[\\^$*+?|[\]().{}]/g;
|
12904
13106
|
|
12905
13107
|
function pad(value, fill, width) {
|
12906
13108
|
var sign = value < 0 ? "-" : "",
|
@@ -13177,10 +13379,6 @@ function formatUnixTimestampSeconds(d) {
|
|
13177
13379
|
|
13178
13380
|
var locale$1;
|
13179
13381
|
|
13180
|
-
|
13181
|
-
|
13182
|
-
|
13183
|
-
|
13184
13382
|
defaultLocale$1({
|
13185
13383
|
dateTime: "%x, %X",
|
13186
13384
|
date: "%-m/%-d/%Y",
|
@@ -13220,13 +13418,13 @@ var parseIso = +new Date("2000-01-01T00:00:00.000Z")
|
|
13220
13418
|
? parseIsoNative
|
13221
13419
|
: exports.utcParse(isoSpecifier);
|
13222
13420
|
|
13223
|
-
var durationSecond = 1000
|
13224
|
-
|
13225
|
-
|
13226
|
-
|
13227
|
-
|
13228
|
-
|
13229
|
-
|
13421
|
+
var durationSecond$1 = 1000,
|
13422
|
+
durationMinute$1 = durationSecond$1 * 60,
|
13423
|
+
durationHour$1 = durationMinute$1 * 60,
|
13424
|
+
durationDay$1 = durationHour$1 * 24,
|
13425
|
+
durationWeek$1 = durationDay$1 * 7,
|
13426
|
+
durationMonth = durationDay$1 * 30,
|
13427
|
+
durationYear = durationDay$1 * 365;
|
13230
13428
|
|
13231
13429
|
function date$1(t) {
|
13232
13430
|
return new Date(t);
|
@@ -13251,34 +13449,34 @@ function calendar(year$$1, month$$1, week, day$$1, hour$$1, minute$$1, second$$1
|
|
13251
13449
|
formatYear = format("%Y");
|
13252
13450
|
|
13253
13451
|
var tickIntervals = [
|
13254
|
-
[second$$1, 1, durationSecond],
|
13255
|
-
[second$$1, 5, 5 * durationSecond],
|
13256
|
-
[second$$1, 15, 15 * durationSecond],
|
13257
|
-
[second$$1, 30, 30 * durationSecond],
|
13258
|
-
[minute$$1, 1, durationMinute],
|
13259
|
-
[minute$$1, 5, 5 * durationMinute],
|
13260
|
-
[minute$$1, 15, 15 * durationMinute],
|
13261
|
-
[minute$$1, 30, 30 * durationMinute],
|
13262
|
-
[ hour$$1, 1, durationHour ],
|
13263
|
-
[ hour$$1, 3, 3 * durationHour ],
|
13264
|
-
[ hour$$1, 6, 6 * durationHour ],
|
13265
|
-
[ hour$$1, 12, 12 * durationHour ],
|
13266
|
-
[ day$$1, 1, durationDay ],
|
13267
|
-
[ day$$1, 2, 2 * durationDay ],
|
13268
|
-
[ week, 1, durationWeek ],
|
13452
|
+
[second$$1, 1, durationSecond$1],
|
13453
|
+
[second$$1, 5, 5 * durationSecond$1],
|
13454
|
+
[second$$1, 15, 15 * durationSecond$1],
|
13455
|
+
[second$$1, 30, 30 * durationSecond$1],
|
13456
|
+
[minute$$1, 1, durationMinute$1],
|
13457
|
+
[minute$$1, 5, 5 * durationMinute$1],
|
13458
|
+
[minute$$1, 15, 15 * durationMinute$1],
|
13459
|
+
[minute$$1, 30, 30 * durationMinute$1],
|
13460
|
+
[ hour$$1, 1, durationHour$1 ],
|
13461
|
+
[ hour$$1, 3, 3 * durationHour$1 ],
|
13462
|
+
[ hour$$1, 6, 6 * durationHour$1 ],
|
13463
|
+
[ hour$$1, 12, 12 * durationHour$1 ],
|
13464
|
+
[ day$$1, 1, durationDay$1 ],
|
13465
|
+
[ day$$1, 2, 2 * durationDay$1 ],
|
13466
|
+
[ week, 1, durationWeek$1 ],
|
13269
13467
|
[ month$$1, 1, durationMonth ],
|
13270
13468
|
[ month$$1, 3, 3 * durationMonth ],
|
13271
13469
|
[ year$$1, 1, durationYear ]
|
13272
13470
|
];
|
13273
13471
|
|
13274
|
-
function tickFormat(date) {
|
13275
|
-
return (second$$1(date) < date ? formatMillisecond
|
13276
|
-
: minute$$1(date) < date ? formatSecond
|
13277
|
-
: hour$$1(date) < date ? formatMinute
|
13278
|
-
: day$$1(date) < date ? formatHour
|
13279
|
-
: month$$1(date) < date ? (week(date) < date ? formatDay : formatWeek)
|
13280
|
-
: year$$1(date) < date ? formatMonth
|
13281
|
-
: formatYear)(date);
|
13472
|
+
function tickFormat(date$$1) {
|
13473
|
+
return (second$$1(date$$1) < date$$1 ? formatMillisecond
|
13474
|
+
: minute$$1(date$$1) < date$$1 ? formatSecond
|
13475
|
+
: hour$$1(date$$1) < date$$1 ? formatMinute
|
13476
|
+
: day$$1(date$$1) < date$$1 ? formatHour
|
13477
|
+
: month$$1(date$$1) < date$$1 ? (week(date$$1) < date$$1 ? formatDay : formatWeek)
|
13478
|
+
: year$$1(date$$1) < date$$1 ? formatMonth
|
13479
|
+
: formatYear)(date$$1);
|
13282
13480
|
}
|
13283
13481
|
|
13284
13482
|
function tickInterval(interval, start, stop, step) {
|
@@ -13311,7 +13509,7 @@ function calendar(year$$1, month$$1, week, day$$1, hour$$1, minute$$1, second$$1
|
|
13311
13509
|
};
|
13312
13510
|
|
13313
13511
|
scale.domain = function(_) {
|
13314
|
-
return arguments.length ? domain(map$
|
13512
|
+
return arguments.length ? domain(map$2.call(_, number$3)) : domain().map(date$1);
|
13315
13513
|
};
|
13316
13514
|
|
13317
13515
|
scale.ticks = function(interval, step) {
|
@@ -13352,52 +13550,6 @@ function utcTime() {
|
|
13352
13550
|
return calendar(utcYear, utcMonth, utcSunday, utcDay, utcHour, utcMinute, second, millisecond, exports.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);
|
13353
13551
|
}
|
13354
13552
|
|
13355
|
-
function colors(s) {
|
13356
|
-
return s.match(/.{6}/g).map(function(x) {
|
13357
|
-
return "#" + x;
|
13358
|
-
});
|
13359
|
-
}
|
13360
|
-
|
13361
|
-
var category10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");
|
13362
|
-
|
13363
|
-
var category20b = colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6");
|
13364
|
-
|
13365
|
-
var category20c = colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9");
|
13366
|
-
|
13367
|
-
var category20 = colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5");
|
13368
|
-
|
13369
|
-
var cubehelix$3 = cubehelixLong(cubehelix(300, 0.5, 0.0), cubehelix(-240, 0.5, 1.0));
|
13370
|
-
|
13371
|
-
var warm = cubehelixLong(cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8));
|
13372
|
-
|
13373
|
-
var cool = cubehelixLong(cubehelix(260, 0.75, 0.35), cubehelix(80, 1.50, 0.8));
|
13374
|
-
|
13375
|
-
var rainbow = cubehelix();
|
13376
|
-
|
13377
|
-
function rainbow$1(t) {
|
13378
|
-
if (t < 0 || t > 1) t -= Math.floor(t);
|
13379
|
-
var ts = Math.abs(t - 0.5);
|
13380
|
-
rainbow.h = 360 * t - 100;
|
13381
|
-
rainbow.s = 1.5 - 1.5 * ts;
|
13382
|
-
rainbow.l = 0.8 - 0.9 * ts;
|
13383
|
-
return rainbow + "";
|
13384
|
-
}
|
13385
|
-
|
13386
|
-
function ramp(range) {
|
13387
|
-
var n = range.length;
|
13388
|
-
return function(t) {
|
13389
|
-
return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];
|
13390
|
-
};
|
13391
|
-
}
|
13392
|
-
|
13393
|
-
var viridis = ramp(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));
|
13394
|
-
|
13395
|
-
var magma = ramp(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));
|
13396
|
-
|
13397
|
-
var inferno = ramp(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));
|
13398
|
-
|
13399
|
-
var plasma = ramp(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));
|
13400
|
-
|
13401
13553
|
function sequential(interpolator) {
|
13402
13554
|
var x0 = 0,
|
13403
13555
|
x1 = 1,
|
@@ -13427,7 +13579,422 @@ function sequential(interpolator) {
|
|
13427
13579
|
return linearish(scale);
|
13428
13580
|
}
|
13429
13581
|
|
13430
|
-
function
|
13582
|
+
function colors(specifier) {
|
13583
|
+
var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;
|
13584
|
+
while (i < n) colors[i] = "#" + specifier.slice(i * 6, ++i * 6);
|
13585
|
+
return colors;
|
13586
|
+
}
|
13587
|
+
|
13588
|
+
var category10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");
|
13589
|
+
|
13590
|
+
var Accent = colors("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666");
|
13591
|
+
|
13592
|
+
var Dark2 = colors("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666");
|
13593
|
+
|
13594
|
+
var Paired = colors("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928");
|
13595
|
+
|
13596
|
+
var Pastel1 = colors("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2");
|
13597
|
+
|
13598
|
+
var Pastel2 = colors("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc");
|
13599
|
+
|
13600
|
+
var Set1 = colors("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999");
|
13601
|
+
|
13602
|
+
var Set2 = colors("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3");
|
13603
|
+
|
13604
|
+
var Set3 = colors("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");
|
13605
|
+
|
13606
|
+
function ramp(scheme) {
|
13607
|
+
return rgbBasis(scheme[scheme.length - 1]);
|
13608
|
+
}
|
13609
|
+
|
13610
|
+
var scheme = new Array(3).concat(
|
13611
|
+
"d8b365f5f5f55ab4ac",
|
13612
|
+
"a6611adfc27d80cdc1018571",
|
13613
|
+
"a6611adfc27df5f5f580cdc1018571",
|
13614
|
+
"8c510ad8b365f6e8c3c7eae55ab4ac01665e",
|
13615
|
+
"8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e",
|
13616
|
+
"8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e",
|
13617
|
+
"8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e",
|
13618
|
+
"5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30",
|
13619
|
+
"5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30"
|
13620
|
+
).map(colors);
|
13621
|
+
|
13622
|
+
var BrBG = ramp(scheme);
|
13623
|
+
|
13624
|
+
var scheme$1 = new Array(3).concat(
|
13625
|
+
"af8dc3f7f7f77fbf7b",
|
13626
|
+
"7b3294c2a5cfa6dba0008837",
|
13627
|
+
"7b3294c2a5cff7f7f7a6dba0008837",
|
13628
|
+
"762a83af8dc3e7d4e8d9f0d37fbf7b1b7837",
|
13629
|
+
"762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837",
|
13630
|
+
"762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837",
|
13631
|
+
"762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837",
|
13632
|
+
"40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b",
|
13633
|
+
"40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b"
|
13634
|
+
).map(colors);
|
13635
|
+
|
13636
|
+
var PRGn = ramp(scheme$1);
|
13637
|
+
|
13638
|
+
var scheme$2 = new Array(3).concat(
|
13639
|
+
"e9a3c9f7f7f7a1d76a",
|
13640
|
+
"d01c8bf1b6dab8e1864dac26",
|
13641
|
+
"d01c8bf1b6daf7f7f7b8e1864dac26",
|
13642
|
+
"c51b7de9a3c9fde0efe6f5d0a1d76a4d9221",
|
13643
|
+
"c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221",
|
13644
|
+
"c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221",
|
13645
|
+
"c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221",
|
13646
|
+
"8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419",
|
13647
|
+
"8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419"
|
13648
|
+
).map(colors);
|
13649
|
+
|
13650
|
+
var PiYG = ramp(scheme$2);
|
13651
|
+
|
13652
|
+
var scheme$3 = new Array(3).concat(
|
13653
|
+
"998ec3f7f7f7f1a340",
|
13654
|
+
"5e3c99b2abd2fdb863e66101",
|
13655
|
+
"5e3c99b2abd2f7f7f7fdb863e66101",
|
13656
|
+
"542788998ec3d8daebfee0b6f1a340b35806",
|
13657
|
+
"542788998ec3d8daebf7f7f7fee0b6f1a340b35806",
|
13658
|
+
"5427888073acb2abd2d8daebfee0b6fdb863e08214b35806",
|
13659
|
+
"5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806",
|
13660
|
+
"2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08",
|
13661
|
+
"2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08"
|
13662
|
+
).map(colors);
|
13663
|
+
|
13664
|
+
var PuOr = ramp(scheme$3);
|
13665
|
+
|
13666
|
+
var scheme$4 = new Array(3).concat(
|
13667
|
+
"ef8a62f7f7f767a9cf",
|
13668
|
+
"ca0020f4a58292c5de0571b0",
|
13669
|
+
"ca0020f4a582f7f7f792c5de0571b0",
|
13670
|
+
"b2182bef8a62fddbc7d1e5f067a9cf2166ac",
|
13671
|
+
"b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac",
|
13672
|
+
"b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac",
|
13673
|
+
"b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac",
|
13674
|
+
"67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061",
|
13675
|
+
"67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061"
|
13676
|
+
).map(colors);
|
13677
|
+
|
13678
|
+
var RdBu = ramp(scheme$4);
|
13679
|
+
|
13680
|
+
var scheme$5 = new Array(3).concat(
|
13681
|
+
"ef8a62ffffff999999",
|
13682
|
+
"ca0020f4a582bababa404040",
|
13683
|
+
"ca0020f4a582ffffffbababa404040",
|
13684
|
+
"b2182bef8a62fddbc7e0e0e09999994d4d4d",
|
13685
|
+
"b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d",
|
13686
|
+
"b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d",
|
13687
|
+
"b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d",
|
13688
|
+
"67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a",
|
13689
|
+
"67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a"
|
13690
|
+
).map(colors);
|
13691
|
+
|
13692
|
+
var RdGy = ramp(scheme$5);
|
13693
|
+
|
13694
|
+
var scheme$6 = new Array(3).concat(
|
13695
|
+
"fc8d59ffffbf91bfdb",
|
13696
|
+
"d7191cfdae61abd9e92c7bb6",
|
13697
|
+
"d7191cfdae61ffffbfabd9e92c7bb6",
|
13698
|
+
"d73027fc8d59fee090e0f3f891bfdb4575b4",
|
13699
|
+
"d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4",
|
13700
|
+
"d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4",
|
13701
|
+
"d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4",
|
13702
|
+
"a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695",
|
13703
|
+
"a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695"
|
13704
|
+
).map(colors);
|
13705
|
+
|
13706
|
+
var RdYlBu = ramp(scheme$6);
|
13707
|
+
|
13708
|
+
var scheme$7 = new Array(3).concat(
|
13709
|
+
"fc8d59ffffbf91cf60",
|
13710
|
+
"d7191cfdae61a6d96a1a9641",
|
13711
|
+
"d7191cfdae61ffffbfa6d96a1a9641",
|
13712
|
+
"d73027fc8d59fee08bd9ef8b91cf601a9850",
|
13713
|
+
"d73027fc8d59fee08bffffbfd9ef8b91cf601a9850",
|
13714
|
+
"d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850",
|
13715
|
+
"d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850",
|
13716
|
+
"a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837",
|
13717
|
+
"a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837"
|
13718
|
+
).map(colors);
|
13719
|
+
|
13720
|
+
var RdYlGn = ramp(scheme$7);
|
13721
|
+
|
13722
|
+
var scheme$8 = new Array(3).concat(
|
13723
|
+
"fc8d59ffffbf99d594",
|
13724
|
+
"d7191cfdae61abdda42b83ba",
|
13725
|
+
"d7191cfdae61ffffbfabdda42b83ba",
|
13726
|
+
"d53e4ffc8d59fee08be6f59899d5943288bd",
|
13727
|
+
"d53e4ffc8d59fee08bffffbfe6f59899d5943288bd",
|
13728
|
+
"d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd",
|
13729
|
+
"d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd",
|
13730
|
+
"9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2",
|
13731
|
+
"9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2"
|
13732
|
+
).map(colors);
|
13733
|
+
|
13734
|
+
var Spectral = ramp(scheme$8);
|
13735
|
+
|
13736
|
+
var scheme$9 = new Array(3).concat(
|
13737
|
+
"e5f5f999d8c92ca25f",
|
13738
|
+
"edf8fbb2e2e266c2a4238b45",
|
13739
|
+
"edf8fbb2e2e266c2a42ca25f006d2c",
|
13740
|
+
"edf8fbccece699d8c966c2a42ca25f006d2c",
|
13741
|
+
"edf8fbccece699d8c966c2a441ae76238b45005824",
|
13742
|
+
"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824",
|
13743
|
+
"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b"
|
13744
|
+
).map(colors);
|
13745
|
+
|
13746
|
+
var BuGn = ramp(scheme$9);
|
13747
|
+
|
13748
|
+
var scheme$10 = new Array(3).concat(
|
13749
|
+
"e0ecf49ebcda8856a7",
|
13750
|
+
"edf8fbb3cde38c96c688419d",
|
13751
|
+
"edf8fbb3cde38c96c68856a7810f7c",
|
13752
|
+
"edf8fbbfd3e69ebcda8c96c68856a7810f7c",
|
13753
|
+
"edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b",
|
13754
|
+
"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b",
|
13755
|
+
"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b"
|
13756
|
+
).map(colors);
|
13757
|
+
|
13758
|
+
var BuPu = ramp(scheme$10);
|
13759
|
+
|
13760
|
+
var scheme$11 = new Array(3).concat(
|
13761
|
+
"e0f3dba8ddb543a2ca",
|
13762
|
+
"f0f9e8bae4bc7bccc42b8cbe",
|
13763
|
+
"f0f9e8bae4bc7bccc443a2ca0868ac",
|
13764
|
+
"f0f9e8ccebc5a8ddb57bccc443a2ca0868ac",
|
13765
|
+
"f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e",
|
13766
|
+
"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e",
|
13767
|
+
"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081"
|
13768
|
+
).map(colors);
|
13769
|
+
|
13770
|
+
var GnBu = ramp(scheme$11);
|
13771
|
+
|
13772
|
+
var scheme$12 = new Array(3).concat(
|
13773
|
+
"fee8c8fdbb84e34a33",
|
13774
|
+
"fef0d9fdcc8afc8d59d7301f",
|
13775
|
+
"fef0d9fdcc8afc8d59e34a33b30000",
|
13776
|
+
"fef0d9fdd49efdbb84fc8d59e34a33b30000",
|
13777
|
+
"fef0d9fdd49efdbb84fc8d59ef6548d7301f990000",
|
13778
|
+
"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000",
|
13779
|
+
"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000"
|
13780
|
+
).map(colors);
|
13781
|
+
|
13782
|
+
var OrRd = ramp(scheme$12);
|
13783
|
+
|
13784
|
+
var scheme$13 = new Array(3).concat(
|
13785
|
+
"ece2f0a6bddb1c9099",
|
13786
|
+
"f6eff7bdc9e167a9cf02818a",
|
13787
|
+
"f6eff7bdc9e167a9cf1c9099016c59",
|
13788
|
+
"f6eff7d0d1e6a6bddb67a9cf1c9099016c59",
|
13789
|
+
"f6eff7d0d1e6a6bddb67a9cf3690c002818a016450",
|
13790
|
+
"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450",
|
13791
|
+
"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636"
|
13792
|
+
).map(colors);
|
13793
|
+
|
13794
|
+
var PuBuGn = ramp(scheme$13);
|
13795
|
+
|
13796
|
+
var scheme$14 = new Array(3).concat(
|
13797
|
+
"ece7f2a6bddb2b8cbe",
|
13798
|
+
"f1eef6bdc9e174a9cf0570b0",
|
13799
|
+
"f1eef6bdc9e174a9cf2b8cbe045a8d",
|
13800
|
+
"f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d",
|
13801
|
+
"f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b",
|
13802
|
+
"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b",
|
13803
|
+
"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858"
|
13804
|
+
).map(colors);
|
13805
|
+
|
13806
|
+
var PuBu = ramp(scheme$14);
|
13807
|
+
|
13808
|
+
var scheme$15 = new Array(3).concat(
|
13809
|
+
"e7e1efc994c7dd1c77",
|
13810
|
+
"f1eef6d7b5d8df65b0ce1256",
|
13811
|
+
"f1eef6d7b5d8df65b0dd1c77980043",
|
13812
|
+
"f1eef6d4b9dac994c7df65b0dd1c77980043",
|
13813
|
+
"f1eef6d4b9dac994c7df65b0e7298ace125691003f",
|
13814
|
+
"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f",
|
13815
|
+
"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f"
|
13816
|
+
).map(colors);
|
13817
|
+
|
13818
|
+
var PuRd = ramp(scheme$15);
|
13819
|
+
|
13820
|
+
var scheme$16 = new Array(3).concat(
|
13821
|
+
"fde0ddfa9fb5c51b8a",
|
13822
|
+
"feebe2fbb4b9f768a1ae017e",
|
13823
|
+
"feebe2fbb4b9f768a1c51b8a7a0177",
|
13824
|
+
"feebe2fcc5c0fa9fb5f768a1c51b8a7a0177",
|
13825
|
+
"feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177",
|
13826
|
+
"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177",
|
13827
|
+
"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a"
|
13828
|
+
).map(colors);
|
13829
|
+
|
13830
|
+
var RdPu = ramp(scheme$16);
|
13831
|
+
|
13832
|
+
var scheme$17 = new Array(3).concat(
|
13833
|
+
"edf8b17fcdbb2c7fb8",
|
13834
|
+
"ffffcca1dab441b6c4225ea8",
|
13835
|
+
"ffffcca1dab441b6c42c7fb8253494",
|
13836
|
+
"ffffccc7e9b47fcdbb41b6c42c7fb8253494",
|
13837
|
+
"ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84",
|
13838
|
+
"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84",
|
13839
|
+
"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58"
|
13840
|
+
).map(colors);
|
13841
|
+
|
13842
|
+
var YlGnBu = ramp(scheme$17);
|
13843
|
+
|
13844
|
+
var scheme$18 = new Array(3).concat(
|
13845
|
+
"f7fcb9addd8e31a354",
|
13846
|
+
"ffffccc2e69978c679238443",
|
13847
|
+
"ffffccc2e69978c67931a354006837",
|
13848
|
+
"ffffccd9f0a3addd8e78c67931a354006837",
|
13849
|
+
"ffffccd9f0a3addd8e78c67941ab5d238443005a32",
|
13850
|
+
"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32",
|
13851
|
+
"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529"
|
13852
|
+
).map(colors);
|
13853
|
+
|
13854
|
+
var YlGn = ramp(scheme$18);
|
13855
|
+
|
13856
|
+
var scheme$19 = new Array(3).concat(
|
13857
|
+
"fff7bcfec44fd95f0e",
|
13858
|
+
"ffffd4fed98efe9929cc4c02",
|
13859
|
+
"ffffd4fed98efe9929d95f0e993404",
|
13860
|
+
"ffffd4fee391fec44ffe9929d95f0e993404",
|
13861
|
+
"ffffd4fee391fec44ffe9929ec7014cc4c028c2d04",
|
13862
|
+
"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04",
|
13863
|
+
"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506"
|
13864
|
+
).map(colors);
|
13865
|
+
|
13866
|
+
var YlOrBr = ramp(scheme$19);
|
13867
|
+
|
13868
|
+
var scheme$20 = new Array(3).concat(
|
13869
|
+
"ffeda0feb24cf03b20",
|
13870
|
+
"ffffb2fecc5cfd8d3ce31a1c",
|
13871
|
+
"ffffb2fecc5cfd8d3cf03b20bd0026",
|
13872
|
+
"ffffb2fed976feb24cfd8d3cf03b20bd0026",
|
13873
|
+
"ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026",
|
13874
|
+
"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026",
|
13875
|
+
"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026"
|
13876
|
+
).map(colors);
|
13877
|
+
|
13878
|
+
var YlOrRd = ramp(scheme$20);
|
13879
|
+
|
13880
|
+
var scheme$21 = new Array(3).concat(
|
13881
|
+
"deebf79ecae13182bd",
|
13882
|
+
"eff3ffbdd7e76baed62171b5",
|
13883
|
+
"eff3ffbdd7e76baed63182bd08519c",
|
13884
|
+
"eff3ffc6dbef9ecae16baed63182bd08519c",
|
13885
|
+
"eff3ffc6dbef9ecae16baed64292c62171b5084594",
|
13886
|
+
"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594",
|
13887
|
+
"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b"
|
13888
|
+
).map(colors);
|
13889
|
+
|
13890
|
+
var Blues = ramp(scheme$21);
|
13891
|
+
|
13892
|
+
var scheme$22 = new Array(3).concat(
|
13893
|
+
"e5f5e0a1d99b31a354",
|
13894
|
+
"edf8e9bae4b374c476238b45",
|
13895
|
+
"edf8e9bae4b374c47631a354006d2c",
|
13896
|
+
"edf8e9c7e9c0a1d99b74c47631a354006d2c",
|
13897
|
+
"edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32",
|
13898
|
+
"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32",
|
13899
|
+
"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b"
|
13900
|
+
).map(colors);
|
13901
|
+
|
13902
|
+
var Greens = ramp(scheme$22);
|
13903
|
+
|
13904
|
+
var scheme$23 = new Array(3).concat(
|
13905
|
+
"f0f0f0bdbdbd636363",
|
13906
|
+
"f7f7f7cccccc969696525252",
|
13907
|
+
"f7f7f7cccccc969696636363252525",
|
13908
|
+
"f7f7f7d9d9d9bdbdbd969696636363252525",
|
13909
|
+
"f7f7f7d9d9d9bdbdbd969696737373525252252525",
|
13910
|
+
"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525",
|
13911
|
+
"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000"
|
13912
|
+
).map(colors);
|
13913
|
+
|
13914
|
+
var Greys = ramp(scheme$23);
|
13915
|
+
|
13916
|
+
var scheme$24 = new Array(3).concat(
|
13917
|
+
"efedf5bcbddc756bb1",
|
13918
|
+
"f2f0f7cbc9e29e9ac86a51a3",
|
13919
|
+
"f2f0f7cbc9e29e9ac8756bb154278f",
|
13920
|
+
"f2f0f7dadaebbcbddc9e9ac8756bb154278f",
|
13921
|
+
"f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486",
|
13922
|
+
"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486",
|
13923
|
+
"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d"
|
13924
|
+
).map(colors);
|
13925
|
+
|
13926
|
+
var Purples = ramp(scheme$24);
|
13927
|
+
|
13928
|
+
var scheme$25 = new Array(3).concat(
|
13929
|
+
"fee0d2fc9272de2d26",
|
13930
|
+
"fee5d9fcae91fb6a4acb181d",
|
13931
|
+
"fee5d9fcae91fb6a4ade2d26a50f15",
|
13932
|
+
"fee5d9fcbba1fc9272fb6a4ade2d26a50f15",
|
13933
|
+
"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d",
|
13934
|
+
"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d",
|
13935
|
+
"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d"
|
13936
|
+
).map(colors);
|
13937
|
+
|
13938
|
+
var Reds = ramp(scheme$25);
|
13939
|
+
|
13940
|
+
var scheme$26 = new Array(3).concat(
|
13941
|
+
"fee6cefdae6be6550d",
|
13942
|
+
"feeddefdbe85fd8d3cd94701",
|
13943
|
+
"feeddefdbe85fd8d3ce6550da63603",
|
13944
|
+
"feeddefdd0a2fdae6bfd8d3ce6550da63603",
|
13945
|
+
"feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04",
|
13946
|
+
"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04",
|
13947
|
+
"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704"
|
13948
|
+
).map(colors);
|
13949
|
+
|
13950
|
+
var Oranges = ramp(scheme$26);
|
13951
|
+
|
13952
|
+
var cubehelix$3 = cubehelixLong(cubehelix(300, 0.5, 0.0), cubehelix(-240, 0.5, 1.0));
|
13953
|
+
|
13954
|
+
var warm = cubehelixLong(cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8));
|
13955
|
+
|
13956
|
+
var cool = cubehelixLong(cubehelix(260, 0.75, 0.35), cubehelix(80, 1.50, 0.8));
|
13957
|
+
|
13958
|
+
var c = cubehelix();
|
13959
|
+
|
13960
|
+
function rainbow(t) {
|
13961
|
+
if (t < 0 || t > 1) t -= Math.floor(t);
|
13962
|
+
var ts = Math.abs(t - 0.5);
|
13963
|
+
c.h = 360 * t - 100;
|
13964
|
+
c.s = 1.5 - 1.5 * ts;
|
13965
|
+
c.l = 0.8 - 0.9 * ts;
|
13966
|
+
return c + "";
|
13967
|
+
}
|
13968
|
+
|
13969
|
+
var c$1 = rgb(),
|
13970
|
+
pi_1_3 = Math.PI / 3,
|
13971
|
+
pi_2_3 = Math.PI * 2 / 3;
|
13972
|
+
|
13973
|
+
function sinebow(t) {
|
13974
|
+
var x;
|
13975
|
+
t = (0.5 - t) * Math.PI;
|
13976
|
+
c$1.r = 255 * (x = Math.sin(t)) * x;
|
13977
|
+
c$1.g = 255 * (x = Math.sin(t + pi_1_3)) * x;
|
13978
|
+
c$1.b = 255 * (x = Math.sin(t + pi_2_3)) * x;
|
13979
|
+
return c$1 + "";
|
13980
|
+
}
|
13981
|
+
|
13982
|
+
function ramp$1(range) {
|
13983
|
+
var n = range.length;
|
13984
|
+
return function(t) {
|
13985
|
+
return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];
|
13986
|
+
};
|
13987
|
+
}
|
13988
|
+
|
13989
|
+
var viridis = ramp$1(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));
|
13990
|
+
|
13991
|
+
var magma = ramp$1(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));
|
13992
|
+
|
13993
|
+
var inferno = ramp$1(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));
|
13994
|
+
|
13995
|
+
var plasma = ramp$1(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));
|
13996
|
+
|
13997
|
+
function constant$11(x) {
|
13431
13998
|
return function constant() {
|
13432
13999
|
return x;
|
13433
14000
|
};
|
@@ -13527,7 +14094,7 @@ function cornerTangents(x0, y0, x1, y1, r1, rc, cw) {
|
|
13527
14094
|
function arc() {
|
13528
14095
|
var innerRadius = arcInnerRadius,
|
13529
14096
|
outerRadius = arcOuterRadius,
|
13530
|
-
cornerRadius = constant$
|
14097
|
+
cornerRadius = constant$11(0),
|
13531
14098
|
padRadius = null,
|
13532
14099
|
startAngle = arcStartAngle,
|
13533
14100
|
endAngle = arcEndAngle,
|
@@ -13676,31 +14243,31 @@ function arc() {
|
|
13676
14243
|
};
|
13677
14244
|
|
13678
14245
|
arc.innerRadius = function(_) {
|
13679
|
-
return arguments.length ? (innerRadius = typeof _ === "function" ? _ : constant$
|
14246
|
+
return arguments.length ? (innerRadius = typeof _ === "function" ? _ : constant$11(+_), arc) : innerRadius;
|
13680
14247
|
};
|
13681
14248
|
|
13682
14249
|
arc.outerRadius = function(_) {
|
13683
|
-
return arguments.length ? (outerRadius = typeof _ === "function" ? _ : constant$
|
14250
|
+
return arguments.length ? (outerRadius = typeof _ === "function" ? _ : constant$11(+_), arc) : outerRadius;
|
13684
14251
|
};
|
13685
14252
|
|
13686
14253
|
arc.cornerRadius = function(_) {
|
13687
|
-
return arguments.length ? (cornerRadius = typeof _ === "function" ? _ : constant$
|
14254
|
+
return arguments.length ? (cornerRadius = typeof _ === "function" ? _ : constant$11(+_), arc) : cornerRadius;
|
13688
14255
|
};
|
13689
14256
|
|
13690
14257
|
arc.padRadius = function(_) {
|
13691
|
-
return arguments.length ? (padRadius = _ == null ? null : typeof _ === "function" ? _ : constant$
|
14258
|
+
return arguments.length ? (padRadius = _ == null ? null : typeof _ === "function" ? _ : constant$11(+_), arc) : padRadius;
|
13692
14259
|
};
|
13693
14260
|
|
13694
14261
|
arc.startAngle = function(_) {
|
13695
|
-
return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$
|
14262
|
+
return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$11(+_), arc) : startAngle;
|
13696
14263
|
};
|
13697
14264
|
|
13698
14265
|
arc.endAngle = function(_) {
|
13699
|
-
return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$
|
14266
|
+
return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$11(+_), arc) : endAngle;
|
13700
14267
|
};
|
13701
14268
|
|
13702
14269
|
arc.padAngle = function(_) {
|
13703
|
-
return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$
|
14270
|
+
return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$11(+_), arc) : padAngle;
|
13704
14271
|
};
|
13705
14272
|
|
13706
14273
|
arc.context = function(_) {
|
@@ -13753,7 +14320,7 @@ function y$3(p) {
|
|
13753
14320
|
function line() {
|
13754
14321
|
var x$$1 = x$3,
|
13755
14322
|
y$$1 = y$3,
|
13756
|
-
defined = constant$
|
14323
|
+
defined = constant$11(true),
|
13757
14324
|
context = null,
|
13758
14325
|
curve = curveLinear,
|
13759
14326
|
output = null;
|
@@ -13779,15 +14346,15 @@ function line() {
|
|
13779
14346
|
}
|
13780
14347
|
|
13781
14348
|
line.x = function(_) {
|
13782
|
-
return arguments.length ? (x$$1 = typeof _ === "function" ? _ : constant$
|
14349
|
+
return arguments.length ? (x$$1 = typeof _ === "function" ? _ : constant$11(+_), line) : x$$1;
|
13783
14350
|
};
|
13784
14351
|
|
13785
14352
|
line.y = function(_) {
|
13786
|
-
return arguments.length ? (y$$1 = typeof _ === "function" ? _ : constant$
|
14353
|
+
return arguments.length ? (y$$1 = typeof _ === "function" ? _ : constant$11(+_), line) : y$$1;
|
13787
14354
|
};
|
13788
14355
|
|
13789
14356
|
line.defined = function(_) {
|
13790
|
-
return arguments.length ? (defined = typeof _ === "function" ? _ : constant$
|
14357
|
+
return arguments.length ? (defined = typeof _ === "function" ? _ : constant$11(!!_), line) : defined;
|
13791
14358
|
};
|
13792
14359
|
|
13793
14360
|
line.curve = function(_) {
|
@@ -13801,12 +14368,12 @@ function line() {
|
|
13801
14368
|
return line;
|
13802
14369
|
}
|
13803
14370
|
|
13804
|
-
function area$
|
14371
|
+
function area$3() {
|
13805
14372
|
var x0 = x$3,
|
13806
14373
|
x1 = null,
|
13807
|
-
y0 = constant$
|
14374
|
+
y0 = constant$11(0),
|
13808
14375
|
y1 = y$3,
|
13809
|
-
defined = constant$
|
14376
|
+
defined = constant$11(true),
|
13810
14377
|
context = null,
|
13811
14378
|
curve = curveLinear,
|
13812
14379
|
output = null;
|
@@ -13854,27 +14421,27 @@ function area$2() {
|
|
13854
14421
|
}
|
13855
14422
|
|
13856
14423
|
area.x = function(_) {
|
13857
|
-
return arguments.length ? (x0 = typeof _ === "function" ? _ : constant$
|
14424
|
+
return arguments.length ? (x0 = typeof _ === "function" ? _ : constant$11(+_), x1 = null, area) : x0;
|
13858
14425
|
};
|
13859
14426
|
|
13860
14427
|
area.x0 = function(_) {
|
13861
|
-
return arguments.length ? (x0 = typeof _ === "function" ? _ : constant$
|
14428
|
+
return arguments.length ? (x0 = typeof _ === "function" ? _ : constant$11(+_), area) : x0;
|
13862
14429
|
};
|
13863
14430
|
|
13864
14431
|
area.x1 = function(_) {
|
13865
|
-
return arguments.length ? (x1 = _ == null ? null : typeof _ === "function" ? _ : constant$
|
14432
|
+
return arguments.length ? (x1 = _ == null ? null : typeof _ === "function" ? _ : constant$11(+_), area) : x1;
|
13866
14433
|
};
|
13867
14434
|
|
13868
14435
|
area.y = function(_) {
|
13869
|
-
return arguments.length ? (y0 = typeof _ === "function" ? _ : constant$
|
14436
|
+
return arguments.length ? (y0 = typeof _ === "function" ? _ : constant$11(+_), y1 = null, area) : y0;
|
13870
14437
|
};
|
13871
14438
|
|
13872
14439
|
area.y0 = function(_) {
|
13873
|
-
return arguments.length ? (y0 = typeof _ === "function" ? _ : constant$
|
14440
|
+
return arguments.length ? (y0 = typeof _ === "function" ? _ : constant$11(+_), area) : y0;
|
13874
14441
|
};
|
13875
14442
|
|
13876
14443
|
area.y1 = function(_) {
|
13877
|
-
return arguments.length ? (y1 = _ == null ? null : typeof _ === "function" ? _ : constant$
|
14444
|
+
return arguments.length ? (y1 = _ == null ? null : typeof _ === "function" ? _ : constant$11(+_), area) : y1;
|
13878
14445
|
};
|
13879
14446
|
|
13880
14447
|
area.lineX0 =
|
@@ -13891,7 +14458,7 @@ function area$2() {
|
|
13891
14458
|
};
|
13892
14459
|
|
13893
14460
|
area.defined = function(_) {
|
13894
|
-
return arguments.length ? (defined = typeof _ === "function" ? _ : constant$
|
14461
|
+
return arguments.length ? (defined = typeof _ === "function" ? _ : constant$11(!!_), area) : defined;
|
13895
14462
|
};
|
13896
14463
|
|
13897
14464
|
area.curve = function(_) {
|
@@ -13917,9 +14484,9 @@ function pie() {
|
|
13917
14484
|
var value = identity$7,
|
13918
14485
|
sortValues = descending$1,
|
13919
14486
|
sort = null,
|
13920
|
-
startAngle = constant$
|
13921
|
-
endAngle = constant$
|
13922
|
-
padAngle = constant$
|
14487
|
+
startAngle = constant$11(0),
|
14488
|
+
endAngle = constant$11(tau$4),
|
14489
|
+
padAngle = constant$11(0);
|
13923
14490
|
|
13924
14491
|
function pie(data) {
|
13925
14492
|
var i,
|
@@ -13962,7 +14529,7 @@ function pie() {
|
|
13962
14529
|
}
|
13963
14530
|
|
13964
14531
|
pie.value = function(_) {
|
13965
|
-
return arguments.length ? (value = typeof _ === "function" ? _ : constant$
|
14532
|
+
return arguments.length ? (value = typeof _ === "function" ? _ : constant$11(+_), pie) : value;
|
13966
14533
|
};
|
13967
14534
|
|
13968
14535
|
pie.sortValues = function(_) {
|
@@ -13974,15 +14541,15 @@ function pie() {
|
|
13974
14541
|
};
|
13975
14542
|
|
13976
14543
|
pie.startAngle = function(_) {
|
13977
|
-
return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$
|
14544
|
+
return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$11(+_), pie) : startAngle;
|
13978
14545
|
};
|
13979
14546
|
|
13980
14547
|
pie.endAngle = function(_) {
|
13981
|
-
return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$
|
14548
|
+
return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$11(+_), pie) : endAngle;
|
13982
14549
|
};
|
13983
14550
|
|
13984
14551
|
pie.padAngle = function(_) {
|
13985
|
-
return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$
|
14552
|
+
return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$11(+_), pie) : padAngle;
|
13986
14553
|
};
|
13987
14554
|
|
13988
14555
|
return pie;
|
@@ -14041,7 +14608,7 @@ function lineRadial$1() {
|
|
14041
14608
|
}
|
14042
14609
|
|
14043
14610
|
function areaRadial() {
|
14044
|
-
var a = area$
|
14611
|
+
var a = area$3().curve(curveRadialLinear),
|
14045
14612
|
c = a.curve,
|
14046
14613
|
x0 = a.lineX0,
|
14047
14614
|
x1 = a.lineX1,
|
@@ -14103,11 +14670,11 @@ function link$2(curve) {
|
|
14103
14670
|
};
|
14104
14671
|
|
14105
14672
|
link.x = function(_) {
|
14106
|
-
return arguments.length ? (x$$1 = typeof _ === "function" ? _ : constant$
|
14673
|
+
return arguments.length ? (x$$1 = typeof _ === "function" ? _ : constant$11(+_), link) : x$$1;
|
14107
14674
|
};
|
14108
14675
|
|
14109
14676
|
link.y = function(_) {
|
14110
|
-
return arguments.length ? (y$$1 = typeof _ === "function" ? _ : constant$
|
14677
|
+
return arguments.length ? (y$$1 = typeof _ === "function" ? _ : constant$11(+_), link) : y$$1;
|
14111
14678
|
};
|
14112
14679
|
|
14113
14680
|
link.context = function(_) {
|
@@ -14178,8 +14745,8 @@ var cross$2 = {
|
|
14178
14745
|
}
|
14179
14746
|
};
|
14180
14747
|
|
14181
|
-
var tan30 = Math.sqrt(1 / 3)
|
14182
|
-
|
14748
|
+
var tan30 = Math.sqrt(1 / 3),
|
14749
|
+
tan30_2 = tan30 * 2;
|
14183
14750
|
|
14184
14751
|
var diamond = {
|
14185
14752
|
draw: function(context, size) {
|
@@ -14193,10 +14760,10 @@ var diamond = {
|
|
14193
14760
|
}
|
14194
14761
|
};
|
14195
14762
|
|
14196
|
-
var ka = 0.89081309152928522810
|
14197
|
-
|
14198
|
-
|
14199
|
-
|
14763
|
+
var ka = 0.89081309152928522810,
|
14764
|
+
kr = Math.sin(pi$4 / 10) / Math.sin(7 * pi$4 / 10),
|
14765
|
+
kx = Math.sin(tau$4 / 10) * kr,
|
14766
|
+
ky = -Math.cos(tau$4 / 10) * kr;
|
14200
14767
|
|
14201
14768
|
var star = {
|
14202
14769
|
draw: function(context, size) {
|
@@ -14236,10 +14803,10 @@ var triangle = {
|
|
14236
14803
|
}
|
14237
14804
|
};
|
14238
14805
|
|
14239
|
-
var c = -0.5
|
14240
|
-
|
14241
|
-
|
14242
|
-
|
14806
|
+
var c$2 = -0.5,
|
14807
|
+
s = Math.sqrt(3) / 2,
|
14808
|
+
k = 1 / Math.sqrt(12),
|
14809
|
+
a = (k / 2 + 1) * 3;
|
14243
14810
|
|
14244
14811
|
var wye = {
|
14245
14812
|
draw: function(context, size) {
|
@@ -14253,12 +14820,12 @@ var wye = {
|
|
14253
14820
|
context.moveTo(x0, y0);
|
14254
14821
|
context.lineTo(x1, y1);
|
14255
14822
|
context.lineTo(x2, y2);
|
14256
|
-
context.lineTo(c * x0 - s * y0, s * x0 + c * y0);
|
14257
|
-
context.lineTo(c * x1 - s * y1, s * x1 + c * y1);
|
14258
|
-
context.lineTo(c * x2 - s * y2, s * x2 + c * y2);
|
14259
|
-
context.lineTo(c * x0 + s * y0, c * y0 - s * x0);
|
14260
|
-
context.lineTo(c * x1 + s * y1, c * y1 - s * x1);
|
14261
|
-
context.lineTo(c * x2 + s * y2, c * y2 - s * x2);
|
14823
|
+
context.lineTo(c$2 * x0 - s * y0, s * x0 + c$2 * y0);
|
14824
|
+
context.lineTo(c$2 * x1 - s * y1, s * x1 + c$2 * y1);
|
14825
|
+
context.lineTo(c$2 * x2 - s * y2, s * x2 + c$2 * y2);
|
14826
|
+
context.lineTo(c$2 * x0 + s * y0, c$2 * y0 - s * x0);
|
14827
|
+
context.lineTo(c$2 * x1 + s * y1, c$2 * y1 - s * x1);
|
14828
|
+
context.lineTo(c$2 * x2 + s * y2, c$2 * y2 - s * x2);
|
14262
14829
|
context.closePath();
|
14263
14830
|
}
|
14264
14831
|
};
|
@@ -14274,8 +14841,8 @@ var symbols = [
|
|
14274
14841
|
];
|
14275
14842
|
|
14276
14843
|
function symbol() {
|
14277
|
-
var type = constant$
|
14278
|
-
size = constant$
|
14844
|
+
var type = constant$11(circle$2),
|
14845
|
+
size = constant$11(64),
|
14279
14846
|
context = null;
|
14280
14847
|
|
14281
14848
|
function symbol() {
|
@@ -14286,11 +14853,11 @@ function symbol() {
|
|
14286
14853
|
}
|
14287
14854
|
|
14288
14855
|
symbol.type = function(_) {
|
14289
|
-
return arguments.length ? (type = typeof _ === "function" ? _ : constant$
|
14856
|
+
return arguments.length ? (type = typeof _ === "function" ? _ : constant$11(_), symbol) : type;
|
14290
14857
|
};
|
14291
14858
|
|
14292
14859
|
symbol.size = function(_) {
|
14293
|
-
return arguments.length ? (size = typeof _ === "function" ? _ : constant$
|
14860
|
+
return arguments.length ? (size = typeof _ === "function" ? _ : constant$11(+_), symbol) : size;
|
14294
14861
|
};
|
14295
14862
|
|
14296
14863
|
symbol.context = function(_) {
|
@@ -14300,7 +14867,7 @@ function symbol() {
|
|
14300
14867
|
return symbol;
|
14301
14868
|
}
|
14302
14869
|
|
14303
|
-
function noop$
|
14870
|
+
function noop$3() {}
|
14304
14871
|
|
14305
14872
|
function point$2(that, x, y) {
|
14306
14873
|
that._context.bezierCurveTo(
|
@@ -14359,8 +14926,8 @@ function BasisClosed(context) {
|
|
14359
14926
|
}
|
14360
14927
|
|
14361
14928
|
BasisClosed.prototype = {
|
14362
|
-
areaStart: noop$
|
14363
|
-
areaEnd: noop$
|
14929
|
+
areaStart: noop$3,
|
14930
|
+
areaEnd: noop$3,
|
14364
14931
|
lineStart: function() {
|
14365
14932
|
this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =
|
14366
14933
|
this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;
|
@@ -14565,8 +15132,8 @@ function CardinalClosed(context, tension) {
|
|
14565
15132
|
}
|
14566
15133
|
|
14567
15134
|
CardinalClosed.prototype = {
|
14568
|
-
areaStart: noop$
|
14569
|
-
areaEnd: noop$
|
15135
|
+
areaStart: noop$3,
|
15136
|
+
areaEnd: noop$3,
|
14570
15137
|
lineStart: function() {
|
14571
15138
|
this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =
|
14572
15139
|
this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;
|
@@ -14758,8 +15325,8 @@ function CatmullRomClosed(context, alpha) {
|
|
14758
15325
|
}
|
14759
15326
|
|
14760
15327
|
CatmullRomClosed.prototype = {
|
14761
|
-
areaStart: noop$
|
14762
|
-
areaEnd: noop$
|
15328
|
+
areaStart: noop$3,
|
15329
|
+
areaEnd: noop$3,
|
14763
15330
|
lineStart: function() {
|
14764
15331
|
this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =
|
14765
15332
|
this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;
|
@@ -14888,8 +15455,8 @@ function LinearClosed(context) {
|
|
14888
15455
|
}
|
14889
15456
|
|
14890
15457
|
LinearClosed.prototype = {
|
14891
|
-
areaStart: noop$
|
14892
|
-
areaEnd: noop$
|
15458
|
+
areaStart: noop$3,
|
15459
|
+
areaEnd: noop$3,
|
14893
15460
|
lineStart: function() {
|
14894
15461
|
this._point = 0;
|
14895
15462
|
},
|
@@ -15153,7 +15720,7 @@ function stackValue(d, key) {
|
|
15153
15720
|
}
|
15154
15721
|
|
15155
15722
|
function stack() {
|
15156
|
-
var keys = constant$
|
15723
|
+
var keys = constant$11([]),
|
15157
15724
|
order = none$2,
|
15158
15725
|
offset = none$1,
|
15159
15726
|
value = stackValue;
|
@@ -15183,15 +15750,15 @@ function stack() {
|
|
15183
15750
|
}
|
15184
15751
|
|
15185
15752
|
stack.keys = function(_) {
|
15186
|
-
return arguments.length ? (keys = typeof _ === "function" ? _ : constant$
|
15753
|
+
return arguments.length ? (keys = typeof _ === "function" ? _ : constant$11(slice$6.call(_)), stack) : keys;
|
15187
15754
|
};
|
15188
15755
|
|
15189
15756
|
stack.value = function(_) {
|
15190
|
-
return arguments.length ? (value = typeof _ === "function" ? _ : constant$
|
15757
|
+
return arguments.length ? (value = typeof _ === "function" ? _ : constant$11(+_), stack) : value;
|
15191
15758
|
};
|
15192
15759
|
|
15193
15760
|
stack.order = function(_) {
|
15194
|
-
return arguments.length ? (order = _ == null ? none$2 : typeof _ === "function" ? _ : constant$
|
15761
|
+
return arguments.length ? (order = _ == null ? none$2 : typeof _ === "function" ? _ : constant$11(slice$6.call(_)), stack) : order;
|
15195
15762
|
};
|
15196
15763
|
|
15197
15764
|
stack.offset = function(_) {
|
@@ -15257,7 +15824,7 @@ function wiggle(series, order) {
|
|
15257
15824
|
none$1(series, order);
|
15258
15825
|
}
|
15259
15826
|
|
15260
|
-
function ascending$
|
15827
|
+
function ascending$3(series) {
|
15261
15828
|
var sums = series.map(sum$2);
|
15262
15829
|
return none$2(series).sort(function(a, b) { return sums[a] - sums[b]; });
|
15263
15830
|
}
|
@@ -15269,7 +15836,7 @@ function sum$2(series) {
|
|
15269
15836
|
}
|
15270
15837
|
|
15271
15838
|
function descending$2(series) {
|
15272
|
-
return ascending$
|
15839
|
+
return ascending$3(series).reverse();
|
15273
15840
|
}
|
15274
15841
|
|
15275
15842
|
function insideOut(series) {
|
@@ -15301,7 +15868,7 @@ function reverse(series) {
|
|
15301
15868
|
return none$2(series).reverse();
|
15302
15869
|
}
|
15303
15870
|
|
15304
|
-
function constant$
|
15871
|
+
function constant$12(x) {
|
15305
15872
|
return function() {
|
15306
15873
|
return x;
|
15307
15874
|
};
|
@@ -16270,11 +16837,11 @@ function voronoi() {
|
|
16270
16837
|
};
|
16271
16838
|
|
16272
16839
|
voronoi.x = function(_) {
|
16273
|
-
return arguments.length ? (x$$1 = typeof _ === "function" ? _ : constant$
|
16840
|
+
return arguments.length ? (x$$1 = typeof _ === "function" ? _ : constant$12(+_), voronoi) : x$$1;
|
16274
16841
|
};
|
16275
16842
|
|
16276
16843
|
voronoi.y = function(_) {
|
16277
|
-
return arguments.length ? (y$$1 = typeof _ === "function" ? _ : constant$
|
16844
|
+
return arguments.length ? (y$$1 = typeof _ === "function" ? _ : constant$12(+_), voronoi) : y$$1;
|
16278
16845
|
};
|
16279
16846
|
|
16280
16847
|
voronoi.extent = function(_) {
|
@@ -16288,7 +16855,7 @@ function voronoi() {
|
|
16288
16855
|
return voronoi;
|
16289
16856
|
}
|
16290
16857
|
|
16291
|
-
function constant$
|
16858
|
+
function constant$13(x) {
|
16292
16859
|
return function() {
|
16293
16860
|
return x;
|
16294
16861
|
};
|
@@ -16390,12 +16957,12 @@ function defaultTouchable$1() {
|
|
16390
16957
|
return "ontouchstart" in this;
|
16391
16958
|
}
|
16392
16959
|
|
16393
|
-
function defaultConstrain(transform
|
16394
|
-
var dx0 = transform
|
16395
|
-
dx1 = transform
|
16396
|
-
dy0 = transform
|
16397
|
-
dy1 = transform
|
16398
|
-
return transform
|
16960
|
+
function defaultConstrain(transform, extent, translateExtent) {
|
16961
|
+
var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],
|
16962
|
+
dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],
|
16963
|
+
dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],
|
16964
|
+
dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];
|
16965
|
+
return transform.translate(
|
16399
16966
|
dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),
|
16400
16967
|
dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)
|
16401
16968
|
);
|
@@ -16419,8 +16986,8 @@ function zoom() {
|
|
16419
16986
|
wheelDelay = 150,
|
16420
16987
|
clickDistance2 = 0;
|
16421
16988
|
|
16422
|
-
function zoom(selection) {
|
16423
|
-
selection
|
16989
|
+
function zoom(selection$$1) {
|
16990
|
+
selection$$1
|
16424
16991
|
.property("__zoom", defaultTransform)
|
16425
16992
|
.on("wheel.zoom", wheeled)
|
16426
16993
|
.on("mousedown.zoom", mousedowned)
|
@@ -16433,31 +17000,31 @@ function zoom() {
|
|
16433
17000
|
.style("-webkit-tap-highlight-color", "rgba(0,0,0,0)");
|
16434
17001
|
}
|
16435
17002
|
|
16436
|
-
zoom.transform = function(collection, transform
|
16437
|
-
var selection = collection.selection ? collection.selection() : collection;
|
16438
|
-
selection.property("__zoom", defaultTransform);
|
16439
|
-
if (collection !== selection) {
|
16440
|
-
schedule(collection, transform
|
17003
|
+
zoom.transform = function(collection, transform) {
|
17004
|
+
var selection$$1 = collection.selection ? collection.selection() : collection;
|
17005
|
+
selection$$1.property("__zoom", defaultTransform);
|
17006
|
+
if (collection !== selection$$1) {
|
17007
|
+
schedule(collection, transform);
|
16441
17008
|
} else {
|
16442
|
-
selection.interrupt().each(function() {
|
17009
|
+
selection$$1.interrupt().each(function() {
|
16443
17010
|
gesture(this, arguments)
|
16444
17011
|
.start()
|
16445
|
-
.zoom(null, typeof transform
|
17012
|
+
.zoom(null, typeof transform === "function" ? transform.apply(this, arguments) : transform)
|
16446
17013
|
.end();
|
16447
17014
|
});
|
16448
17015
|
}
|
16449
17016
|
};
|
16450
17017
|
|
16451
|
-
zoom.scaleBy = function(selection, k) {
|
16452
|
-
zoom.scaleTo(selection, function() {
|
17018
|
+
zoom.scaleBy = function(selection$$1, k) {
|
17019
|
+
zoom.scaleTo(selection$$1, function() {
|
16453
17020
|
var k0 = this.__zoom.k,
|
16454
17021
|
k1 = typeof k === "function" ? k.apply(this, arguments) : k;
|
16455
17022
|
return k0 * k1;
|
16456
17023
|
});
|
16457
17024
|
};
|
16458
17025
|
|
16459
|
-
zoom.scaleTo = function(selection, k) {
|
16460
|
-
zoom.transform(selection, function() {
|
17026
|
+
zoom.scaleTo = function(selection$$1, k) {
|
17027
|
+
zoom.transform(selection$$1, function() {
|
16461
17028
|
var e = extent.apply(this, arguments),
|
16462
17029
|
t0 = this.__zoom,
|
16463
17030
|
p0 = centroid(e),
|
@@ -16467,8 +17034,8 @@ function zoom() {
|
|
16467
17034
|
});
|
16468
17035
|
};
|
16469
17036
|
|
16470
|
-
zoom.translateBy = function(selection, x, y) {
|
16471
|
-
zoom.transform(selection, function() {
|
17037
|
+
zoom.translateBy = function(selection$$1, x, y) {
|
17038
|
+
zoom.transform(selection$$1, function() {
|
16472
17039
|
return constrain(this.__zoom.translate(
|
16473
17040
|
typeof x === "function" ? x.apply(this, arguments) : x,
|
16474
17041
|
typeof y === "function" ? y.apply(this, arguments) : y
|
@@ -16476,8 +17043,8 @@ function zoom() {
|
|
16476
17043
|
});
|
16477
17044
|
};
|
16478
17045
|
|
16479
|
-
zoom.translateTo = function(selection, x, y) {
|
16480
|
-
zoom.transform(selection, function() {
|
17046
|
+
zoom.translateTo = function(selection$$1, x, y) {
|
17047
|
+
zoom.transform(selection$$1, function() {
|
16481
17048
|
var e = extent.apply(this, arguments),
|
16482
17049
|
t = this.__zoom,
|
16483
17050
|
p = centroid(e);
|
@@ -16488,22 +17055,22 @@ function zoom() {
|
|
16488
17055
|
});
|
16489
17056
|
};
|
16490
17057
|
|
16491
|
-
function scale(transform
|
17058
|
+
function scale(transform, k) {
|
16492
17059
|
k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));
|
16493
|
-
return k === transform
|
17060
|
+
return k === transform.k ? transform : new Transform(k, transform.x, transform.y);
|
16494
17061
|
}
|
16495
17062
|
|
16496
|
-
function translate(transform
|
16497
|
-
var x = p0[0] - p1[0] * transform
|
16498
|
-
return x === transform
|
17063
|
+
function translate(transform, p0, p1) {
|
17064
|
+
var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;
|
17065
|
+
return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);
|
16499
17066
|
}
|
16500
17067
|
|
16501
17068
|
function centroid(extent) {
|
16502
17069
|
return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];
|
16503
17070
|
}
|
16504
17071
|
|
16505
|
-
function schedule(transition, transform
|
16506
|
-
transition
|
17072
|
+
function schedule(transition$$1, transform, center) {
|
17073
|
+
transition$$1
|
16507
17074
|
.on("start.zoom", function() { gesture(this, arguments).start(); })
|
16508
17075
|
.on("interrupt.zoom end.zoom", function() { gesture(this, arguments).end(); })
|
16509
17076
|
.tween("zoom", function() {
|
@@ -16514,7 +17081,7 @@ function zoom() {
|
|
16514
17081
|
p = center || centroid(e),
|
16515
17082
|
w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),
|
16516
17083
|
a = that.__zoom,
|
16517
|
-
b = typeof transform
|
17084
|
+
b = typeof transform === "function" ? transform.apply(that, args) : transform,
|
16518
17085
|
i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));
|
16519
17086
|
return function(t) {
|
16520
17087
|
if (t === 1) t = b; // Avoid rounding error on end.
|
@@ -16549,11 +17116,11 @@ function zoom() {
|
|
16549
17116
|
}
|
16550
17117
|
return this;
|
16551
17118
|
},
|
16552
|
-
zoom: function(key, transform
|
16553
|
-
if (this.mouse && key !== "mouse") this.mouse[1] = transform
|
16554
|
-
if (this.touch0 && key !== "touch") this.touch0[1] = transform
|
16555
|
-
if (this.touch1 && key !== "touch") this.touch1[1] = transform
|
16556
|
-
this.that.__zoom = transform
|
17119
|
+
zoom: function(key, transform) {
|
17120
|
+
if (this.mouse && key !== "mouse") this.mouse[1] = transform.invert(this.mouse[0]);
|
17121
|
+
if (this.touch0 && key !== "touch") this.touch0[1] = transform.invert(this.touch0[0]);
|
17122
|
+
if (this.touch1 && key !== "touch") this.touch1[1] = transform.invert(this.touch1[0]);
|
17123
|
+
this.that.__zoom = transform;
|
16557
17124
|
this.emit("zoom");
|
16558
17125
|
return this;
|
16559
17126
|
},
|
@@ -16653,13 +17220,13 @@ function zoom() {
|
|
16653
17220
|
function touchstarted() {
|
16654
17221
|
if (!filter.apply(this, arguments)) return;
|
16655
17222
|
var g = gesture(this, arguments),
|
16656
|
-
touches = exports.event.changedTouches,
|
17223
|
+
touches$$1 = exports.event.changedTouches,
|
16657
17224
|
started,
|
16658
|
-
n = touches.length, i, t, p;
|
17225
|
+
n = touches$$1.length, i, t, p;
|
16659
17226
|
|
16660
17227
|
nopropagation$2();
|
16661
17228
|
for (i = 0; i < n; ++i) {
|
16662
|
-
t = touches[i], p = touch(this, touches, t.identifier);
|
17229
|
+
t = touches$$1[i], p = touch(this, touches$$1, t.identifier);
|
16663
17230
|
p = [p, this.__zoom.invert(p), t.identifier];
|
16664
17231
|
if (!g.touch0) g.touch0 = p, started = true;
|
16665
17232
|
else if (!g.touch1) g.touch1 = p;
|
@@ -16685,13 +17252,13 @@ function zoom() {
|
|
16685
17252
|
|
16686
17253
|
function touchmoved() {
|
16687
17254
|
var g = gesture(this, arguments),
|
16688
|
-
touches = exports.event.changedTouches,
|
16689
|
-
n = touches.length, i, t, p, l;
|
17255
|
+
touches$$1 = exports.event.changedTouches,
|
17256
|
+
n = touches$$1.length, i, t, p, l;
|
16690
17257
|
|
16691
17258
|
noevent$2();
|
16692
17259
|
if (touchstarting) touchstarting = clearTimeout(touchstarting);
|
16693
17260
|
for (i = 0; i < n; ++i) {
|
16694
|
-
t = touches[i], p = touch(this, touches, t.identifier);
|
17261
|
+
t = touches$$1[i], p = touch(this, touches$$1, t.identifier);
|
16695
17262
|
if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;
|
16696
17263
|
else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;
|
16697
17264
|
}
|
@@ -16712,14 +17279,14 @@ function zoom() {
|
|
16712
17279
|
|
16713
17280
|
function touchended() {
|
16714
17281
|
var g = gesture(this, arguments),
|
16715
|
-
touches = exports.event.changedTouches,
|
16716
|
-
n = touches.length, i, t;
|
17282
|
+
touches$$1 = exports.event.changedTouches,
|
17283
|
+
n = touches$$1.length, i, t;
|
16717
17284
|
|
16718
17285
|
nopropagation$2();
|
16719
17286
|
if (touchending) clearTimeout(touchending);
|
16720
17287
|
touchending = setTimeout(function() { touchending = null; }, touchDelay);
|
16721
17288
|
for (i = 0; i < n; ++i) {
|
16722
|
-
t = touches[i];
|
17289
|
+
t = touches$$1[i];
|
16723
17290
|
if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;
|
16724
17291
|
else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;
|
16725
17292
|
}
|
@@ -16729,19 +17296,19 @@ function zoom() {
|
|
16729
17296
|
}
|
16730
17297
|
|
16731
17298
|
zoom.wheelDelta = function(_) {
|
16732
|
-
return arguments.length ? (wheelDelta = typeof _ === "function" ? _ : constant$
|
17299
|
+
return arguments.length ? (wheelDelta = typeof _ === "function" ? _ : constant$13(+_), zoom) : wheelDelta;
|
16733
17300
|
};
|
16734
17301
|
|
16735
17302
|
zoom.filter = function(_) {
|
16736
|
-
return arguments.length ? (filter = typeof _ === "function" ? _ : constant$
|
17303
|
+
return arguments.length ? (filter = typeof _ === "function" ? _ : constant$13(!!_), zoom) : filter;
|
16737
17304
|
};
|
16738
17305
|
|
16739
17306
|
zoom.touchable = function(_) {
|
16740
|
-
return arguments.length ? (touchable = typeof _ === "function" ? _ : constant$
|
17307
|
+
return arguments.length ? (touchable = typeof _ === "function" ? _ : constant$13(!!_), zoom) : touchable;
|
16741
17308
|
};
|
16742
17309
|
|
16743
17310
|
zoom.extent = function(_) {
|
16744
|
-
return arguments.length ? (extent = typeof _ === "function" ? _ : constant$
|
17311
|
+
return arguments.length ? (extent = typeof _ === "function" ? _ : constant$13([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;
|
16745
17312
|
};
|
16746
17313
|
|
16747
17314
|
zoom.scaleExtent = function(_) {
|
@@ -16789,7 +17356,7 @@ exports.extent = extent;
|
|
16789
17356
|
exports.histogram = histogram;
|
16790
17357
|
exports.thresholdFreedmanDiaconis = freedmanDiaconis;
|
16791
17358
|
exports.thresholdScott = scott;
|
16792
|
-
exports.thresholdSturges =
|
17359
|
+
exports.thresholdSturges = thresholdSturges;
|
16793
17360
|
exports.max = max;
|
16794
17361
|
exports.mean = mean;
|
16795
17362
|
exports.median = median;
|
@@ -16829,12 +17396,16 @@ exports.rgb = rgb;
|
|
16829
17396
|
exports.hsl = hsl;
|
16830
17397
|
exports.lab = lab;
|
16831
17398
|
exports.hcl = hcl;
|
17399
|
+
exports.lch = lch;
|
17400
|
+
exports.gray = gray;
|
16832
17401
|
exports.cubehelix = cubehelix;
|
17402
|
+
exports.contours = contours;
|
17403
|
+
exports.contourDensity = density;
|
16833
17404
|
exports.dispatch = dispatch;
|
16834
17405
|
exports.drag = drag;
|
16835
17406
|
exports.dragDisable = dragDisable;
|
16836
17407
|
exports.dragEnable = yesdrag;
|
16837
|
-
exports.dsvFormat =
|
17408
|
+
exports.dsvFormat = dsvFormat;
|
16838
17409
|
exports.csvParse = csvParse;
|
16839
17410
|
exports.csvParseRows = csvParseRows;
|
16840
17411
|
exports.csvFormat = csvFormat;
|
@@ -16880,6 +17451,17 @@ exports.easeElastic = elasticOut;
|
|
16880
17451
|
exports.easeElasticIn = elasticIn;
|
16881
17452
|
exports.easeElasticOut = elasticOut;
|
16882
17453
|
exports.easeElasticInOut = elasticInOut;
|
17454
|
+
exports.blob = blob;
|
17455
|
+
exports.buffer = buffer;
|
17456
|
+
exports.dsv = dsv;
|
17457
|
+
exports.csv = csv$1;
|
17458
|
+
exports.tsv = tsv$1;
|
17459
|
+
exports.image = image;
|
17460
|
+
exports.json = json;
|
17461
|
+
exports.text = text;
|
17462
|
+
exports.xml = xml;
|
17463
|
+
exports.html = html;
|
17464
|
+
exports.svg = svg;
|
16883
17465
|
exports.forceCenter = center$1;
|
16884
17466
|
exports.forceCollide = collide;
|
16885
17467
|
exports.forceLink = link;
|
@@ -16894,7 +17476,7 @@ exports.formatSpecifier = formatSpecifier;
|
|
16894
17476
|
exports.precisionFixed = precisionFixed;
|
16895
17477
|
exports.precisionPrefix = precisionPrefix;
|
16896
17478
|
exports.precisionRound = precisionRound;
|
16897
|
-
exports.geoArea = area;
|
17479
|
+
exports.geoArea = area$1;
|
16898
17480
|
exports.geoBounds = bounds;
|
16899
17481
|
exports.geoCentroid = centroid;
|
16900
17482
|
exports.geoCircle = circle;
|
@@ -16902,7 +17484,7 @@ exports.geoClipAntimeridian = clipAntimeridian;
|
|
16902
17484
|
exports.geoClipCircle = clipCircle;
|
16903
17485
|
exports.geoClipExtent = extent$1;
|
16904
17486
|
exports.geoClipRectangle = clipRectangle;
|
16905
|
-
exports.geoContains = contains;
|
17487
|
+
exports.geoContains = contains$1;
|
16906
17488
|
exports.geoDistance = distance;
|
16907
17489
|
exports.geoGraticule = graticule;
|
16908
17490
|
exports.geoGraticule10 = graticule10;
|
@@ -16978,28 +17560,21 @@ exports.interpolateHcl = hcl$2;
|
|
16978
17560
|
exports.interpolateHclLong = hclLong;
|
16979
17561
|
exports.interpolateCubehelix = cubehelix$2;
|
16980
17562
|
exports.interpolateCubehelixLong = cubehelixLong;
|
17563
|
+
exports.piecewise = piecewise;
|
16981
17564
|
exports.quantize = quantize;
|
16982
17565
|
exports.path = path;
|
16983
|
-
exports.polygonArea = area$
|
17566
|
+
exports.polygonArea = area$2;
|
16984
17567
|
exports.polygonCentroid = centroid$1;
|
16985
17568
|
exports.polygonHull = hull;
|
16986
|
-
exports.polygonContains = contains$
|
17569
|
+
exports.polygonContains = contains$2;
|
16987
17570
|
exports.polygonLength = length$2;
|
16988
17571
|
exports.quadtree = quadtree;
|
16989
|
-
exports.queue = queue;
|
16990
17572
|
exports.randomUniform = uniform;
|
16991
17573
|
exports.randomNormal = normal;
|
16992
17574
|
exports.randomLogNormal = logNormal;
|
16993
17575
|
exports.randomBates = bates;
|
16994
17576
|
exports.randomIrwinHall = irwinHall;
|
16995
17577
|
exports.randomExponential = exponential$1;
|
16996
|
-
exports.request = request;
|
16997
|
-
exports.html = html;
|
16998
|
-
exports.json = json;
|
16999
|
-
exports.text = text;
|
17000
|
-
exports.xml = xml;
|
17001
|
-
exports.csv = csv$1;
|
17002
|
-
exports.tsv = tsv$1;
|
17003
17578
|
exports.scaleBand = band;
|
17004
17579
|
exports.scalePoint = point$1;
|
17005
17580
|
exports.scaleIdentity = identity$6;
|
@@ -17014,22 +17589,82 @@ exports.scaleQuantize = quantize$1;
|
|
17014
17589
|
exports.scaleThreshold = threshold$1;
|
17015
17590
|
exports.scaleTime = time;
|
17016
17591
|
exports.scaleUtc = utcTime;
|
17592
|
+
exports.scaleSequential = sequential;
|
17017
17593
|
exports.schemeCategory10 = category10;
|
17018
|
-
exports.
|
17019
|
-
exports.
|
17020
|
-
exports.
|
17594
|
+
exports.schemeAccent = Accent;
|
17595
|
+
exports.schemeDark2 = Dark2;
|
17596
|
+
exports.schemePaired = Paired;
|
17597
|
+
exports.schemePastel1 = Pastel1;
|
17598
|
+
exports.schemePastel2 = Pastel2;
|
17599
|
+
exports.schemeSet1 = Set1;
|
17600
|
+
exports.schemeSet2 = Set2;
|
17601
|
+
exports.schemeSet3 = Set3;
|
17602
|
+
exports.interpolateBrBG = BrBG;
|
17603
|
+
exports.schemeBrBG = scheme;
|
17604
|
+
exports.interpolatePRGn = PRGn;
|
17605
|
+
exports.schemePRGn = scheme$1;
|
17606
|
+
exports.interpolatePiYG = PiYG;
|
17607
|
+
exports.schemePiYG = scheme$2;
|
17608
|
+
exports.interpolatePuOr = PuOr;
|
17609
|
+
exports.schemePuOr = scheme$3;
|
17610
|
+
exports.interpolateRdBu = RdBu;
|
17611
|
+
exports.schemeRdBu = scheme$4;
|
17612
|
+
exports.interpolateRdGy = RdGy;
|
17613
|
+
exports.schemeRdGy = scheme$5;
|
17614
|
+
exports.interpolateRdYlBu = RdYlBu;
|
17615
|
+
exports.schemeRdYlBu = scheme$6;
|
17616
|
+
exports.interpolateRdYlGn = RdYlGn;
|
17617
|
+
exports.schemeRdYlGn = scheme$7;
|
17618
|
+
exports.interpolateSpectral = Spectral;
|
17619
|
+
exports.schemeSpectral = scheme$8;
|
17620
|
+
exports.interpolateBuGn = BuGn;
|
17621
|
+
exports.schemeBuGn = scheme$9;
|
17622
|
+
exports.interpolateBuPu = BuPu;
|
17623
|
+
exports.schemeBuPu = scheme$10;
|
17624
|
+
exports.interpolateGnBu = GnBu;
|
17625
|
+
exports.schemeGnBu = scheme$11;
|
17626
|
+
exports.interpolateOrRd = OrRd;
|
17627
|
+
exports.schemeOrRd = scheme$12;
|
17628
|
+
exports.interpolatePuBuGn = PuBuGn;
|
17629
|
+
exports.schemePuBuGn = scheme$13;
|
17630
|
+
exports.interpolatePuBu = PuBu;
|
17631
|
+
exports.schemePuBu = scheme$14;
|
17632
|
+
exports.interpolatePuRd = PuRd;
|
17633
|
+
exports.schemePuRd = scheme$15;
|
17634
|
+
exports.interpolateRdPu = RdPu;
|
17635
|
+
exports.schemeRdPu = scheme$16;
|
17636
|
+
exports.interpolateYlGnBu = YlGnBu;
|
17637
|
+
exports.schemeYlGnBu = scheme$17;
|
17638
|
+
exports.interpolateYlGn = YlGn;
|
17639
|
+
exports.schemeYlGn = scheme$18;
|
17640
|
+
exports.interpolateYlOrBr = YlOrBr;
|
17641
|
+
exports.schemeYlOrBr = scheme$19;
|
17642
|
+
exports.interpolateYlOrRd = YlOrRd;
|
17643
|
+
exports.schemeYlOrRd = scheme$20;
|
17644
|
+
exports.interpolateBlues = Blues;
|
17645
|
+
exports.schemeBlues = scheme$21;
|
17646
|
+
exports.interpolateGreens = Greens;
|
17647
|
+
exports.schemeGreens = scheme$22;
|
17648
|
+
exports.interpolateGreys = Greys;
|
17649
|
+
exports.schemeGreys = scheme$23;
|
17650
|
+
exports.interpolatePurples = Purples;
|
17651
|
+
exports.schemePurples = scheme$24;
|
17652
|
+
exports.interpolateReds = Reds;
|
17653
|
+
exports.schemeReds = scheme$25;
|
17654
|
+
exports.interpolateOranges = Oranges;
|
17655
|
+
exports.schemeOranges = scheme$26;
|
17021
17656
|
exports.interpolateCubehelixDefault = cubehelix$3;
|
17022
|
-
exports.interpolateRainbow = rainbow
|
17657
|
+
exports.interpolateRainbow = rainbow;
|
17023
17658
|
exports.interpolateWarm = warm;
|
17024
17659
|
exports.interpolateCool = cool;
|
17660
|
+
exports.interpolateSinebow = sinebow;
|
17025
17661
|
exports.interpolateViridis = viridis;
|
17026
17662
|
exports.interpolateMagma = magma;
|
17027
17663
|
exports.interpolateInferno = inferno;
|
17028
17664
|
exports.interpolatePlasma = plasma;
|
17029
|
-
exports.scaleSequential = sequential;
|
17030
17665
|
exports.create = create;
|
17031
17666
|
exports.creator = creator;
|
17032
|
-
exports.local = local
|
17667
|
+
exports.local = local;
|
17033
17668
|
exports.matcher = matcher$1;
|
17034
17669
|
exports.mouse = mouse;
|
17035
17670
|
exports.namespace = namespace;
|
@@ -17046,7 +17681,7 @@ exports.touches = touches;
|
|
17046
17681
|
exports.window = defaultView;
|
17047
17682
|
exports.customEvent = customEvent;
|
17048
17683
|
exports.arc = arc;
|
17049
|
-
exports.area = area$
|
17684
|
+
exports.area = area$3;
|
17050
17685
|
exports.line = line;
|
17051
17686
|
exports.pie = pie;
|
17052
17687
|
exports.areaRadial = areaRadial;
|
@@ -17090,7 +17725,7 @@ exports.stackOffsetDiverging = diverging;
|
|
17090
17725
|
exports.stackOffsetNone = none$1;
|
17091
17726
|
exports.stackOffsetSilhouette = silhouette;
|
17092
17727
|
exports.stackOffsetWiggle = wiggle;
|
17093
|
-
exports.stackOrderAscending = ascending$
|
17728
|
+
exports.stackOrderAscending = ascending$3;
|
17094
17729
|
exports.stackOrderDescending = descending$2;
|
17095
17730
|
exports.stackOrderInsideOut = insideOut;
|
17096
17731
|
exports.stackOrderNone = none$2;
|