d3-rails 5.7.0 → 5.9.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/README.md +1 -1
- data/app/assets/javascripts/d3.js +704 -322
- data/app/assets/javascripts/d3.min.js +2 -2
- data/app/assets/javascripts/d3.v5.js +704 -322
- data/app/assets/javascripts/d3.v5.min.js +2 -2
- data/lib/d3/rails/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8422687bdd54a25af8d7ec2fcf7523b1dadba274f890a0ed09877e7728e2a431
|
4
|
+
data.tar.gz: 1fc90e4be3d875635d5e55d03a2b61ce62cf1c1b098507d2e1b99ebe4c31a502
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c319c728078db89f2f359cc8682f2ca936476ad44d66f90de23de415194852a695ad80e6f9b982c1ecfeb93de75c86ffa19aabc1ef689e6e909cfe6b4dd8e2e
|
7
|
+
data.tar.gz: 6424e4d59b659fc5e31f5124b039857630f3bfe38501966aef47713a99c9259b815d97453748f77015b77273aad4ff8f426b27f410e6ab172316ca92895aa1dd
|
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 5.
|
11
|
+
d3-rails comes with version 5.9.2 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
|
|
@@ -1,11 +1,11 @@
|
|
1
|
-
// https://d3js.org v5.
|
1
|
+
// https://d3js.org v5.9.2 Copyright 2019 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 = "5.
|
8
|
+
var version = "5.9.2";
|
9
9
|
|
10
10
|
function ascending(a, b) {
|
11
11
|
return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
|
@@ -903,31 +903,14 @@ function selection_selectAll(select) {
|
|
903
903
|
return new Selection(subgroups, parents);
|
904
904
|
}
|
905
905
|
|
906
|
-
|
906
|
+
function matcher(selector) {
|
907
907
|
return function() {
|
908
908
|
return this.matches(selector);
|
909
909
|
};
|
910
|
-
};
|
911
|
-
|
912
|
-
if (typeof document !== "undefined") {
|
913
|
-
var element = document.documentElement;
|
914
|
-
if (!element.matches) {
|
915
|
-
var vendorMatches = element.webkitMatchesSelector
|
916
|
-
|| element.msMatchesSelector
|
917
|
-
|| element.mozMatchesSelector
|
918
|
-
|| element.oMatchesSelector;
|
919
|
-
matcher = function(selector) {
|
920
|
-
return function() {
|
921
|
-
return vendorMatches.call(this, selector);
|
922
|
-
};
|
923
|
-
};
|
924
|
-
}
|
925
910
|
}
|
926
911
|
|
927
|
-
var matcher$1 = matcher;
|
928
|
-
|
929
912
|
function selection_filter(match) {
|
930
|
-
if (typeof match !== "function") match = matcher
|
913
|
+
if (typeof match !== "function") match = matcher(match);
|
931
914
|
|
932
915
|
for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
|
933
916
|
for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
|
@@ -1089,6 +1072,14 @@ function selection_exit() {
|
|
1089
1072
|
return new Selection(this._exit || this._groups.map(sparse), this._parents);
|
1090
1073
|
}
|
1091
1074
|
|
1075
|
+
function selection_join(onenter, onupdate, onexit) {
|
1076
|
+
var enter = this.enter(), update = this, exit = this.exit();
|
1077
|
+
enter = typeof onenter === "function" ? onenter(enter) : enter.append(onenter + "");
|
1078
|
+
if (onupdate != null) update = onupdate(update);
|
1079
|
+
if (onexit == null) exit.remove(); else onexit(exit);
|
1080
|
+
return enter && update ? enter.merge(update).order() : update;
|
1081
|
+
}
|
1082
|
+
|
1092
1083
|
function selection_merge(selection$$1) {
|
1093
1084
|
|
1094
1085
|
for (var groups0 = this._groups, groups1 = selection$$1._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {
|
@@ -1111,7 +1102,7 @@ function selection_order() {
|
|
1111
1102
|
for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {
|
1112
1103
|
for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {
|
1113
1104
|
if (node = group[i]) {
|
1114
|
-
if (next && next
|
1105
|
+
if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);
|
1115
1106
|
next = node;
|
1116
1107
|
}
|
1117
1108
|
}
|
@@ -1509,8 +1500,8 @@ var filterEvents = {};
|
|
1509
1500
|
exports.event = null;
|
1510
1501
|
|
1511
1502
|
if (typeof document !== "undefined") {
|
1512
|
-
var element
|
1513
|
-
if (!("onmouseenter" in element
|
1503
|
+
var element = document.documentElement;
|
1504
|
+
if (!("onmouseenter" in element)) {
|
1514
1505
|
filterEvents = {mouseenter: "mouseover", mouseleave: "mouseout"};
|
1515
1506
|
}
|
1516
1507
|
}
|
@@ -1664,6 +1655,7 @@ Selection.prototype = selection.prototype = {
|
|
1664
1655
|
data: selection_data,
|
1665
1656
|
enter: selection_enter,
|
1666
1657
|
exit: selection_exit,
|
1658
|
+
join: selection_join,
|
1667
1659
|
merge: selection_merge,
|
1668
1660
|
order: selection_order,
|
1669
1661
|
sort: selection_sort,
|
@@ -3200,7 +3192,7 @@ function interval$1(callback, delay, time) {
|
|
3200
3192
|
return t;
|
3201
3193
|
}
|
3202
3194
|
|
3203
|
-
var emptyOn = dispatch("start", "end", "interrupt");
|
3195
|
+
var emptyOn = dispatch("start", "end", "cancel", "interrupt");
|
3204
3196
|
var emptyTween = [];
|
3205
3197
|
|
3206
3198
|
var CREATED = 0;
|
@@ -3238,7 +3230,7 @@ function init(node, id) {
|
|
3238
3230
|
|
3239
3231
|
function set$1(node, id) {
|
3240
3232
|
var schedule = get$1(node, id);
|
3241
|
-
if (schedule.state >
|
3233
|
+
if (schedule.state > STARTED) throw new Error("too late; already running");
|
3242
3234
|
return schedule;
|
3243
3235
|
}
|
3244
3236
|
|
@@ -3281,7 +3273,6 @@ function create$1(node, id, self) {
|
|
3281
3273
|
if (o.state === STARTED) return timeout$1(start);
|
3282
3274
|
|
3283
3275
|
// Interrupt the active transition, if any.
|
3284
|
-
// Dispatch the interrupt event.
|
3285
3276
|
if (o.state === RUNNING) {
|
3286
3277
|
o.state = ENDED;
|
3287
3278
|
o.timer.stop();
|
@@ -3289,12 +3280,11 @@ function create$1(node, id, self) {
|
|
3289
3280
|
delete schedules[i];
|
3290
3281
|
}
|
3291
3282
|
|
3292
|
-
// Cancel any pre-empted transitions.
|
3293
|
-
// because the cancelled transitions never started. Note that this also
|
3294
|
-
// removes this transition from the pending list!
|
3283
|
+
// Cancel any pre-empted transitions.
|
3295
3284
|
else if (+i < id) {
|
3296
3285
|
o.state = ENDED;
|
3297
3286
|
o.timer.stop();
|
3287
|
+
o.on.call("cancel", node, node.__data__, o.index, o.group);
|
3298
3288
|
delete schedules[i];
|
3299
3289
|
}
|
3300
3290
|
}
|
@@ -3334,7 +3324,7 @@ function create$1(node, id, self) {
|
|
3334
3324
|
n = tween.length;
|
3335
3325
|
|
3336
3326
|
while (++i < n) {
|
3337
|
-
tween[i].call(
|
3327
|
+
tween[i].call(node, t);
|
3338
3328
|
}
|
3339
3329
|
|
3340
3330
|
// Dispatch the end event.
|
@@ -3369,7 +3359,7 @@ function interrupt(node, name) {
|
|
3369
3359
|
active = schedule$$1.state > STARTING && schedule$$1.state < ENDING;
|
3370
3360
|
schedule$$1.state = ENDED;
|
3371
3361
|
schedule$$1.timer.stop();
|
3372
|
-
|
3362
|
+
schedule$$1.on.call(active ? "interrupt" : "cancel", node, node.__data__, schedule$$1.index, schedule$$1.group);
|
3373
3363
|
delete schedules[i];
|
3374
3364
|
}
|
3375
3365
|
|
@@ -3483,52 +3473,56 @@ function attrRemoveNS$1(fullname) {
|
|
3483
3473
|
}
|
3484
3474
|
|
3485
3475
|
function attrConstant$1(name, interpolate$$1, value1) {
|
3486
|
-
var
|
3476
|
+
var string00,
|
3477
|
+
string1 = value1 + "",
|
3487
3478
|
interpolate0;
|
3488
3479
|
return function() {
|
3489
|
-
var
|
3490
|
-
return
|
3491
|
-
:
|
3492
|
-
: interpolate0 = interpolate$$1(
|
3480
|
+
var string0 = this.getAttribute(name);
|
3481
|
+
return string0 === string1 ? null
|
3482
|
+
: string0 === string00 ? interpolate0
|
3483
|
+
: interpolate0 = interpolate$$1(string00 = string0, value1);
|
3493
3484
|
};
|
3494
3485
|
}
|
3495
3486
|
|
3496
3487
|
function attrConstantNS$1(fullname, interpolate$$1, value1) {
|
3497
|
-
var
|
3488
|
+
var string00,
|
3489
|
+
string1 = value1 + "",
|
3498
3490
|
interpolate0;
|
3499
3491
|
return function() {
|
3500
|
-
var
|
3501
|
-
return
|
3502
|
-
:
|
3503
|
-
: interpolate0 = interpolate$$1(
|
3492
|
+
var string0 = this.getAttributeNS(fullname.space, fullname.local);
|
3493
|
+
return string0 === string1 ? null
|
3494
|
+
: string0 === string00 ? interpolate0
|
3495
|
+
: interpolate0 = interpolate$$1(string00 = string0, value1);
|
3504
3496
|
};
|
3505
3497
|
}
|
3506
3498
|
|
3507
3499
|
function attrFunction$1(name, interpolate$$1, value) {
|
3508
|
-
var
|
3509
|
-
|
3500
|
+
var string00,
|
3501
|
+
string10,
|
3510
3502
|
interpolate0;
|
3511
3503
|
return function() {
|
3512
|
-
var
|
3504
|
+
var string0, value1 = value(this), string1;
|
3513
3505
|
if (value1 == null) return void this.removeAttribute(name);
|
3514
|
-
|
3515
|
-
|
3516
|
-
|
3517
|
-
:
|
3506
|
+
string0 = this.getAttribute(name);
|
3507
|
+
string1 = value1 + "";
|
3508
|
+
return string0 === string1 ? null
|
3509
|
+
: string0 === string00 && string1 === string10 ? interpolate0
|
3510
|
+
: (string10 = string1, interpolate0 = interpolate$$1(string00 = string0, value1));
|
3518
3511
|
};
|
3519
3512
|
}
|
3520
3513
|
|
3521
3514
|
function attrFunctionNS$1(fullname, interpolate$$1, value) {
|
3522
|
-
var
|
3523
|
-
|
3515
|
+
var string00,
|
3516
|
+
string10,
|
3524
3517
|
interpolate0;
|
3525
3518
|
return function() {
|
3526
|
-
var
|
3519
|
+
var string0, value1 = value(this), string1;
|
3527
3520
|
if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);
|
3528
|
-
|
3529
|
-
|
3530
|
-
|
3531
|
-
:
|
3521
|
+
string0 = this.getAttributeNS(fullname.space, fullname.local);
|
3522
|
+
string1 = value1 + "";
|
3523
|
+
return string0 === string1 ? null
|
3524
|
+
: string0 === string00 && string1 === string10 ? interpolate0
|
3525
|
+
: (string10 = string1, interpolate0 = interpolate$$1(string00 = string0, value1));
|
3532
3526
|
};
|
3533
3527
|
}
|
3534
3528
|
|
@@ -3537,26 +3531,38 @@ function transition_attr(name, value) {
|
|
3537
3531
|
return this.attrTween(name, typeof value === "function"
|
3538
3532
|
? (fullname.local ? attrFunctionNS$1 : attrFunction$1)(fullname, i, tweenValue(this, "attr." + name, value))
|
3539
3533
|
: value == null ? (fullname.local ? attrRemoveNS$1 : attrRemove$1)(fullname)
|
3540
|
-
: (fullname.local ? attrConstantNS$1 : attrConstant$1)(fullname, i, value
|
3534
|
+
: (fullname.local ? attrConstantNS$1 : attrConstant$1)(fullname, i, value));
|
3535
|
+
}
|
3536
|
+
|
3537
|
+
function attrInterpolate(name, i) {
|
3538
|
+
return function(t) {
|
3539
|
+
this.setAttribute(name, i(t));
|
3540
|
+
};
|
3541
|
+
}
|
3542
|
+
|
3543
|
+
function attrInterpolateNS(fullname, i) {
|
3544
|
+
return function(t) {
|
3545
|
+
this.setAttributeNS(fullname.space, fullname.local, i(t));
|
3546
|
+
};
|
3541
3547
|
}
|
3542
3548
|
|
3543
3549
|
function attrTweenNS(fullname, value) {
|
3550
|
+
var t0, i0;
|
3544
3551
|
function tween() {
|
3545
|
-
var
|
3546
|
-
|
3547
|
-
|
3548
|
-
};
|
3552
|
+
var i = value.apply(this, arguments);
|
3553
|
+
if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);
|
3554
|
+
return t0;
|
3549
3555
|
}
|
3550
3556
|
tween._value = value;
|
3551
3557
|
return tween;
|
3552
3558
|
}
|
3553
3559
|
|
3554
3560
|
function attrTween(name, value) {
|
3561
|
+
var t0, i0;
|
3555
3562
|
function tween() {
|
3556
|
-
var
|
3557
|
-
|
3558
|
-
|
3559
|
-
};
|
3563
|
+
var i = value.apply(this, arguments);
|
3564
|
+
if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);
|
3565
|
+
return t0;
|
3560
3566
|
}
|
3561
3567
|
tween._value = value;
|
3562
3568
|
return tween;
|
@@ -3631,7 +3637,7 @@ function transition_ease(value) {
|
|
3631
3637
|
}
|
3632
3638
|
|
3633
3639
|
function transition_filter(match) {
|
3634
|
-
if (typeof match !== "function") match = matcher
|
3640
|
+
if (typeof match !== "function") match = matcher(match);
|
3635
3641
|
|
3636
3642
|
for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
|
3637
3643
|
for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
|
@@ -3753,66 +3759,93 @@ function transition_selection() {
|
|
3753
3759
|
return new Selection$1(this._groups, this._parents);
|
3754
3760
|
}
|
3755
3761
|
|
3756
|
-
function
|
3757
|
-
var
|
3758
|
-
|
3762
|
+
function styleNull(name, interpolate$$1) {
|
3763
|
+
var string00,
|
3764
|
+
string10,
|
3759
3765
|
interpolate0;
|
3760
3766
|
return function() {
|
3761
|
-
var
|
3762
|
-
|
3763
|
-
return
|
3764
|
-
:
|
3765
|
-
: interpolate0 = interpolate$$1(
|
3767
|
+
var string0 = styleValue(this, name),
|
3768
|
+
string1 = (this.style.removeProperty(name), styleValue(this, name));
|
3769
|
+
return string0 === string1 ? null
|
3770
|
+
: string0 === string00 && string1 === string10 ? interpolate0
|
3771
|
+
: interpolate0 = interpolate$$1(string00 = string0, string10 = string1);
|
3766
3772
|
};
|
3767
3773
|
}
|
3768
3774
|
|
3769
|
-
function
|
3775
|
+
function styleRemove$1(name) {
|
3770
3776
|
return function() {
|
3771
3777
|
this.style.removeProperty(name);
|
3772
3778
|
};
|
3773
3779
|
}
|
3774
3780
|
|
3775
3781
|
function styleConstant$1(name, interpolate$$1, value1) {
|
3776
|
-
var
|
3782
|
+
var string00,
|
3783
|
+
string1 = value1 + "",
|
3777
3784
|
interpolate0;
|
3778
3785
|
return function() {
|
3779
|
-
var
|
3780
|
-
return
|
3781
|
-
:
|
3782
|
-
: interpolate0 = interpolate$$1(
|
3786
|
+
var string0 = styleValue(this, name);
|
3787
|
+
return string0 === string1 ? null
|
3788
|
+
: string0 === string00 ? interpolate0
|
3789
|
+
: interpolate0 = interpolate$$1(string00 = string0, value1);
|
3783
3790
|
};
|
3784
3791
|
}
|
3785
3792
|
|
3786
3793
|
function styleFunction$1(name, interpolate$$1, value) {
|
3787
|
-
var
|
3788
|
-
|
3794
|
+
var string00,
|
3795
|
+
string10,
|
3789
3796
|
interpolate0;
|
3790
3797
|
return function() {
|
3791
|
-
var
|
3792
|
-
value1 = value(this)
|
3793
|
-
|
3794
|
-
|
3795
|
-
|
3796
|
-
:
|
3798
|
+
var string0 = styleValue(this, name),
|
3799
|
+
value1 = value(this),
|
3800
|
+
string1 = value1 + "";
|
3801
|
+
if (value1 == null) string1 = value1 = (this.style.removeProperty(name), styleValue(this, name));
|
3802
|
+
return string0 === string1 ? null
|
3803
|
+
: string0 === string00 && string1 === string10 ? interpolate0
|
3804
|
+
: (string10 = string1, interpolate0 = interpolate$$1(string00 = string0, value1));
|
3805
|
+
};
|
3806
|
+
}
|
3807
|
+
|
3808
|
+
function styleMaybeRemove(id, name) {
|
3809
|
+
var on0, on1, listener0, key = "style." + name, event = "end." + key, remove;
|
3810
|
+
return function() {
|
3811
|
+
var schedule$$1 = set$1(this, id),
|
3812
|
+
on = schedule$$1.on,
|
3813
|
+
listener = schedule$$1.value[key] == null ? remove || (remove = styleRemove$1(name)) : undefined;
|
3814
|
+
|
3815
|
+
// If this node shared a dispatch with the previous node,
|
3816
|
+
// just assign the updated shared dispatch and we’re done!
|
3817
|
+
// Otherwise, copy-on-write.
|
3818
|
+
if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);
|
3819
|
+
|
3820
|
+
schedule$$1.on = on1;
|
3797
3821
|
};
|
3798
3822
|
}
|
3799
3823
|
|
3800
3824
|
function transition_style(name, value, priority) {
|
3801
3825
|
var i = (name += "") === "transform" ? interpolateTransformCss : interpolate;
|
3802
3826
|
return value == null ? this
|
3803
|
-
|
3804
|
-
|
3805
|
-
|
3806
|
-
|
3807
|
-
|
3827
|
+
.styleTween(name, styleNull(name, i))
|
3828
|
+
.on("end.style." + name, styleRemove$1(name))
|
3829
|
+
: typeof value === "function" ? this
|
3830
|
+
.styleTween(name, styleFunction$1(name, i, tweenValue(this, "style." + name, value)))
|
3831
|
+
.each(styleMaybeRemove(this._id, name))
|
3832
|
+
: this
|
3833
|
+
.styleTween(name, styleConstant$1(name, i, value), priority)
|
3834
|
+
.on("end.style." + name, null);
|
3835
|
+
}
|
3836
|
+
|
3837
|
+
function styleInterpolate(name, i, priority) {
|
3838
|
+
return function(t) {
|
3839
|
+
this.style.setProperty(name, i(t), priority);
|
3840
|
+
};
|
3808
3841
|
}
|
3809
3842
|
|
3810
3843
|
function styleTween(name, value, priority) {
|
3844
|
+
var t, i0;
|
3811
3845
|
function tween() {
|
3812
|
-
var
|
3813
|
-
|
3814
|
-
|
3815
|
-
};
|
3846
|
+
var i = value.apply(this, arguments);
|
3847
|
+
if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);
|
3848
|
+
return t;
|
3816
3849
|
}
|
3817
3850
|
tween._value = value;
|
3818
3851
|
return tween;
|
@@ -3867,6 +3900,31 @@ function transition_transition() {
|
|
3867
3900
|
return new Transition(groups, this._parents, name, id1);
|
3868
3901
|
}
|
3869
3902
|
|
3903
|
+
function transition_end() {
|
3904
|
+
var on0, on1, that = this, id = that._id, size = that.size();
|
3905
|
+
return new Promise(function(resolve, reject) {
|
3906
|
+
var cancel = {value: reject},
|
3907
|
+
end = {value: function() { if (--size === 0) resolve(); }};
|
3908
|
+
|
3909
|
+
that.each(function() {
|
3910
|
+
var schedule$$1 = set$1(this, id),
|
3911
|
+
on = schedule$$1.on;
|
3912
|
+
|
3913
|
+
// If this node shared a dispatch with the previous node,
|
3914
|
+
// just assign the updated shared dispatch and we’re done!
|
3915
|
+
// Otherwise, copy-on-write.
|
3916
|
+
if (on !== on0) {
|
3917
|
+
on1 = (on0 = on).copy();
|
3918
|
+
on1._.cancel.push(cancel);
|
3919
|
+
on1._.interrupt.push(cancel);
|
3920
|
+
on1._.end.push(end);
|
3921
|
+
}
|
3922
|
+
|
3923
|
+
schedule$$1.on = on1;
|
3924
|
+
});
|
3925
|
+
});
|
3926
|
+
}
|
3927
|
+
|
3870
3928
|
var id = 0;
|
3871
3929
|
|
3872
3930
|
function Transition(groups, parents, name, id) {
|
@@ -3910,7 +3968,8 @@ Transition.prototype = transition.prototype = {
|
|
3910
3968
|
tween: transition_tween,
|
3911
3969
|
delay: transition_delay,
|
3912
3970
|
duration: transition_duration,
|
3913
|
-
ease: transition_ease
|
3971
|
+
ease: transition_ease,
|
3972
|
+
end: transition_end
|
3914
3973
|
};
|
3915
3974
|
|
3916
3975
|
function linear$1(t) {
|
@@ -5735,6 +5794,30 @@ function inferColumns(rows) {
|
|
5735
5794
|
return columns;
|
5736
5795
|
}
|
5737
5796
|
|
5797
|
+
function pad(value, width) {
|
5798
|
+
var s = value + "", length = s.length;
|
5799
|
+
return length < width ? new Array(width - length + 1).join(0) + s : s;
|
5800
|
+
}
|
5801
|
+
|
5802
|
+
function formatYear(year) {
|
5803
|
+
return year < 0 ? "-" + pad(-year, 6)
|
5804
|
+
: year > 9999 ? "+" + pad(year, 6)
|
5805
|
+
: pad(year, 4);
|
5806
|
+
}
|
5807
|
+
|
5808
|
+
function formatDate(date) {
|
5809
|
+
var hours = date.getUTCHours(),
|
5810
|
+
minutes = date.getUTCMinutes(),
|
5811
|
+
seconds = date.getUTCSeconds(),
|
5812
|
+
milliseconds = date.getUTCMilliseconds();
|
5813
|
+
return isNaN(date) ? "Invalid Date"
|
5814
|
+
: formatYear(date.getUTCFullYear(), 4) + "-" + pad(date.getUTCMonth() + 1, 2) + "-" + pad(date.getUTCDate(), 2)
|
5815
|
+
+ (milliseconds ? "T" + pad(hours, 2) + ":" + pad(minutes, 2) + ":" + pad(seconds, 2) + "." + pad(milliseconds, 3) + "Z"
|
5816
|
+
: seconds ? "T" + pad(hours, 2) + ":" + pad(minutes, 2) + ":" + pad(seconds, 2) + "Z"
|
5817
|
+
: minutes || hours ? "T" + pad(hours, 2) + ":" + pad(minutes, 2) + "Z"
|
5818
|
+
: "");
|
5819
|
+
}
|
5820
|
+
|
5738
5821
|
function dsvFormat(delimiter) {
|
5739
5822
|
var reFormat = new RegExp("[\"" + delimiter + "\n\r]"),
|
5740
5823
|
DELIMITER = delimiter.charCodeAt(0);
|
@@ -5797,13 +5880,22 @@ function dsvFormat(delimiter) {
|
|
5797
5880
|
return rows;
|
5798
5881
|
}
|
5799
5882
|
|
5800
|
-
function
|
5801
|
-
|
5802
|
-
return [columns.map(formatValue).join(delimiter)].concat(rows.map(function(row) {
|
5883
|
+
function preformatBody(rows, columns) {
|
5884
|
+
return rows.map(function(row) {
|
5803
5885
|
return columns.map(function(column) {
|
5804
5886
|
return formatValue(row[column]);
|
5805
5887
|
}).join(delimiter);
|
5806
|
-
})
|
5888
|
+
});
|
5889
|
+
}
|
5890
|
+
|
5891
|
+
function format(rows, columns) {
|
5892
|
+
if (columns == null) columns = inferColumns(rows);
|
5893
|
+
return [columns.map(formatValue).join(delimiter)].concat(preformatBody(rows, columns)).join("\n");
|
5894
|
+
}
|
5895
|
+
|
5896
|
+
function formatBody(rows, columns) {
|
5897
|
+
if (columns == null) columns = inferColumns(rows);
|
5898
|
+
return preformatBody(rows, columns).join("\n");
|
5807
5899
|
}
|
5808
5900
|
|
5809
5901
|
function formatRows(rows) {
|
@@ -5814,16 +5906,18 @@ function dsvFormat(delimiter) {
|
|
5814
5906
|
return row.map(formatValue).join(delimiter);
|
5815
5907
|
}
|
5816
5908
|
|
5817
|
-
function formatValue(
|
5818
|
-
return
|
5819
|
-
:
|
5820
|
-
:
|
5909
|
+
function formatValue(value) {
|
5910
|
+
return value == null ? ""
|
5911
|
+
: value instanceof Date ? formatDate(value)
|
5912
|
+
: reFormat.test(value += "") ? "\"" + value.replace(/"/g, "\"\"") + "\""
|
5913
|
+
: value;
|
5821
5914
|
}
|
5822
5915
|
|
5823
5916
|
return {
|
5824
5917
|
parse: parse,
|
5825
5918
|
parseRows: parseRows,
|
5826
5919
|
format: format,
|
5920
|
+
formatBody: formatBody,
|
5827
5921
|
formatRows: formatRows
|
5828
5922
|
};
|
5829
5923
|
}
|
@@ -5833,6 +5927,7 @@ var csv = dsvFormat(",");
|
|
5833
5927
|
var csvParse = csv.parse;
|
5834
5928
|
var csvParseRows = csv.parseRows;
|
5835
5929
|
var csvFormat = csv.format;
|
5930
|
+
var csvFormatBody = csv.formatBody;
|
5836
5931
|
var csvFormatRows = csv.formatRows;
|
5837
5932
|
|
5838
5933
|
var tsv = dsvFormat("\t");
|
@@ -5840,8 +5935,24 @@ var tsv = dsvFormat("\t");
|
|
5840
5935
|
var tsvParse = tsv.parse;
|
5841
5936
|
var tsvParseRows = tsv.parseRows;
|
5842
5937
|
var tsvFormat = tsv.format;
|
5938
|
+
var tsvFormatBody = tsv.formatBody;
|
5843
5939
|
var tsvFormatRows = tsv.formatRows;
|
5844
5940
|
|
5941
|
+
function autoType(object) {
|
5942
|
+
for (var key in object) {
|
5943
|
+
var value = object[key].trim(), number;
|
5944
|
+
if (!value) value = null;
|
5945
|
+
else if (value === "true") value = true;
|
5946
|
+
else if (value === "false") value = false;
|
5947
|
+
else if (value === "NaN") value = NaN;
|
5948
|
+
else if (!isNaN(number = +value)) value = number;
|
5949
|
+
else if (/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/.test(value)) value = new Date(value);
|
5950
|
+
else continue;
|
5951
|
+
object[key] = value;
|
5952
|
+
}
|
5953
|
+
return object;
|
5954
|
+
}
|
5955
|
+
|
5845
5956
|
function responseBlob(response) {
|
5846
5957
|
if (!response.ok) throw new Error(response.status + " " + response.statusText);
|
5847
5958
|
return response.blob();
|
@@ -6040,9 +6151,8 @@ function addAll(data) {
|
|
6040
6151
|
if (y > y1) y1 = y;
|
6041
6152
|
}
|
6042
6153
|
|
6043
|
-
// If there were no (valid) points,
|
6044
|
-
if (
|
6045
|
-
if (y1 < y0) y0 = this._y0, y1 = this._y1;
|
6154
|
+
// If there were no (valid) points, abort.
|
6155
|
+
if (x0 > x1 || y0 > y1) return this;
|
6046
6156
|
|
6047
6157
|
// Expand the tree to cover the new points.
|
6048
6158
|
this.cover(x0, y0).cover(x1, y1);
|
@@ -6072,41 +6182,26 @@ function tree_cover(x, y) {
|
|
6072
6182
|
}
|
6073
6183
|
|
6074
6184
|
// Otherwise, double repeatedly to cover.
|
6075
|
-
else
|
6185
|
+
else {
|
6076
6186
|
var z = x1 - x0,
|
6077
6187
|
node = this._root,
|
6078
6188
|
parent,
|
6079
6189
|
i;
|
6080
6190
|
|
6081
|
-
|
6082
|
-
|
6083
|
-
|
6084
|
-
|
6085
|
-
break;
|
6086
|
-
|
6087
|
-
|
6088
|
-
|
6089
|
-
while (z *= 2, x0 = x1 - z, y1 = y0 + z, x0 > x || y > y1);
|
6090
|
-
break;
|
6091
|
-
}
|
6092
|
-
case 2: {
|
6093
|
-
do parent = new Array(4), parent[i] = node, node = parent;
|
6094
|
-
while (z *= 2, x1 = x0 + z, y0 = y1 - z, x > x1 || y0 > y);
|
6095
|
-
break;
|
6096
|
-
}
|
6097
|
-
case 3: {
|
6098
|
-
do parent = new Array(4), parent[i] = node, node = parent;
|
6099
|
-
while (z *= 2, x0 = x1 - z, y0 = y1 - z, x0 > x || y0 > y);
|
6100
|
-
break;
|
6191
|
+
while (x0 > x || x >= x1 || y0 > y || y >= y1) {
|
6192
|
+
i = (y < y0) << 1 | (x < x0);
|
6193
|
+
parent = new Array(4), parent[i] = node, node = parent, z *= 2;
|
6194
|
+
switch (i) {
|
6195
|
+
case 0: x1 = x0 + z, y1 = y0 + z; break;
|
6196
|
+
case 1: x0 = x1 - z, y1 = y0 + z; break;
|
6197
|
+
case 2: x1 = x0 + z, y0 = y1 - z; break;
|
6198
|
+
case 3: x0 = x1 - z, y0 = y1 - z; break;
|
6101
6199
|
}
|
6102
6200
|
}
|
6103
6201
|
|
6104
6202
|
if (this._root && this._root.length) this._root = node;
|
6105
6203
|
}
|
6106
6204
|
|
6107
|
-
// If the quadtree covers the point already, just return.
|
6108
|
-
else return this;
|
6109
|
-
|
6110
6205
|
this._x0 = x0;
|
6111
6206
|
this._y0 = y0;
|
6112
6207
|
this._x1 = x1;
|
@@ -6633,27 +6728,35 @@ function simulation(nodes) {
|
|
6633
6728
|
}
|
6634
6729
|
}
|
6635
6730
|
|
6636
|
-
function tick() {
|
6731
|
+
function tick(iterations) {
|
6637
6732
|
var i, n = nodes.length, node;
|
6638
6733
|
|
6639
|
-
|
6734
|
+
if (iterations === undefined) iterations = 1;
|
6640
6735
|
|
6641
|
-
|
6642
|
-
|
6643
|
-
});
|
6736
|
+
for (var k = 0; k < iterations; ++k) {
|
6737
|
+
alpha += (alphaTarget - alpha) * alphaDecay;
|
6644
6738
|
|
6645
|
-
|
6646
|
-
|
6647
|
-
|
6648
|
-
|
6649
|
-
|
6650
|
-
|
6739
|
+
forces.each(function (force) {
|
6740
|
+
force(alpha);
|
6741
|
+
});
|
6742
|
+
|
6743
|
+
for (i = 0; i < n; ++i) {
|
6744
|
+
node = nodes[i];
|
6745
|
+
if (node.fx == null) node.x += node.vx *= velocityDecay;
|
6746
|
+
else node.x = node.fx, node.vx = 0;
|
6747
|
+
if (node.fy == null) node.y += node.vy *= velocityDecay;
|
6748
|
+
else node.y = node.fy, node.vy = 0;
|
6749
|
+
}
|
6651
6750
|
}
|
6751
|
+
|
6752
|
+
return simulation;
|
6652
6753
|
}
|
6653
6754
|
|
6654
6755
|
function initializeNodes() {
|
6655
6756
|
for (var i = 0, n = nodes.length, node; i < n; ++i) {
|
6656
6757
|
node = nodes[i], node.index = i;
|
6758
|
+
if (node.fx != null) node.x = node.fx;
|
6759
|
+
if (node.fy != null) node.y = node.fy;
|
6657
6760
|
if (isNaN(node.x) || isNaN(node.y)) {
|
6658
6761
|
var radius = initialRadius * Math.sqrt(i), angle = i * initialAngle;
|
6659
6762
|
node.x = radius * Math.cos(angle);
|
@@ -7867,7 +7970,7 @@ function compose(a, b) {
|
|
7867
7970
|
}
|
7868
7971
|
|
7869
7972
|
function rotationIdentity(lambda, phi) {
|
7870
|
-
return [lambda > pi$3 ? lambda -
|
7973
|
+
return [abs(lambda) > pi$3 ? lambda + Math.round(-lambda / tau$3) * tau$3 : lambda, phi];
|
7871
7974
|
}
|
7872
7975
|
|
7873
7976
|
rotationIdentity.invert = rotationIdentity;
|
@@ -11828,6 +11931,24 @@ var exponential$1 = (function sourceRandomExponential(source) {
|
|
11828
11931
|
return randomExponential;
|
11829
11932
|
})(defaultSource$1);
|
11830
11933
|
|
11934
|
+
function initRange(domain, range) {
|
11935
|
+
switch (arguments.length) {
|
11936
|
+
case 0: break;
|
11937
|
+
case 1: this.range(domain); break;
|
11938
|
+
default: this.range(range).domain(domain); break;
|
11939
|
+
}
|
11940
|
+
return this;
|
11941
|
+
}
|
11942
|
+
|
11943
|
+
function initInterpolator(domain, interpolator) {
|
11944
|
+
switch (arguments.length) {
|
11945
|
+
case 0: break;
|
11946
|
+
case 1: this.interpolator(domain); break;
|
11947
|
+
default: this.interpolator(interpolator).domain(domain); break;
|
11948
|
+
}
|
11949
|
+
return this;
|
11950
|
+
}
|
11951
|
+
|
11831
11952
|
var array$3 = Array.prototype;
|
11832
11953
|
|
11833
11954
|
var map$2 = array$3.map;
|
@@ -11835,13 +11956,12 @@ var slice$5 = array$3.slice;
|
|
11835
11956
|
|
11836
11957
|
var implicit = {name: "implicit"};
|
11837
11958
|
|
11838
|
-
function ordinal(
|
11959
|
+
function ordinal() {
|
11839
11960
|
var index = map$1(),
|
11840
11961
|
domain = [],
|
11962
|
+
range = [],
|
11841
11963
|
unknown = implicit;
|
11842
11964
|
|
11843
|
-
range = range == null ? [] : slice$5.call(range);
|
11844
|
-
|
11845
11965
|
function scale(d) {
|
11846
11966
|
var key = d + "", i = index.get(key);
|
11847
11967
|
if (!i) {
|
@@ -11868,12 +11988,11 @@ function ordinal(range) {
|
|
11868
11988
|
};
|
11869
11989
|
|
11870
11990
|
scale.copy = function() {
|
11871
|
-
return ordinal()
|
11872
|
-
.domain(domain)
|
11873
|
-
.range(range)
|
11874
|
-
.unknown(unknown);
|
11991
|
+
return ordinal(domain, range).unknown(unknown);
|
11875
11992
|
};
|
11876
11993
|
|
11994
|
+
initRange.apply(scale, arguments);
|
11995
|
+
|
11877
11996
|
return scale;
|
11878
11997
|
}
|
11879
11998
|
|
@@ -11930,15 +12049,15 @@ function band() {
|
|
11930
12049
|
};
|
11931
12050
|
|
11932
12051
|
scale.padding = function(_) {
|
11933
|
-
return arguments.length ? (paddingInner =
|
12052
|
+
return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;
|
11934
12053
|
};
|
11935
12054
|
|
11936
12055
|
scale.paddingInner = function(_) {
|
11937
|
-
return arguments.length ? (paddingInner = Math.
|
12056
|
+
return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;
|
11938
12057
|
};
|
11939
12058
|
|
11940
12059
|
scale.paddingOuter = function(_) {
|
11941
|
-
return arguments.length ? (paddingOuter =
|
12060
|
+
return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;
|
11942
12061
|
};
|
11943
12062
|
|
11944
12063
|
scale.align = function(_) {
|
@@ -11946,16 +12065,14 @@ function band() {
|
|
11946
12065
|
};
|
11947
12066
|
|
11948
12067
|
scale.copy = function() {
|
11949
|
-
return band()
|
11950
|
-
.domain(domain())
|
11951
|
-
.range(range$$1)
|
12068
|
+
return band(domain(), range$$1)
|
11952
12069
|
.round(round)
|
11953
12070
|
.paddingInner(paddingInner)
|
11954
12071
|
.paddingOuter(paddingOuter)
|
11955
12072
|
.align(align);
|
11956
12073
|
};
|
11957
12074
|
|
11958
|
-
return rescale();
|
12075
|
+
return initRange.apply(rescale(), arguments);
|
11959
12076
|
}
|
11960
12077
|
|
11961
12078
|
function pointish(scale) {
|
@@ -11973,7 +12090,7 @@ function pointish(scale) {
|
|
11973
12090
|
}
|
11974
12091
|
|
11975
12092
|
function point$1() {
|
11976
|
-
return pointish(band().paddingInner(1));
|
12093
|
+
return pointish(band.apply(null, arguments).paddingInner(1));
|
11977
12094
|
}
|
11978
12095
|
|
11979
12096
|
function constant$a(x) {
|
@@ -11988,34 +12105,32 @@ function number$2(x) {
|
|
11988
12105
|
|
11989
12106
|
var unit = [0, 1];
|
11990
12107
|
|
11991
|
-
function
|
11992
|
-
return
|
11993
|
-
? function(x) { return (x - a) / b; }
|
11994
|
-
: constant$a(b);
|
12108
|
+
function identity$6(x) {
|
12109
|
+
return x;
|
11995
12110
|
}
|
11996
12111
|
|
11997
|
-
function
|
11998
|
-
return
|
11999
|
-
|
12000
|
-
|
12001
|
-
};
|
12112
|
+
function normalize(a, b) {
|
12113
|
+
return (b -= (a = +a))
|
12114
|
+
? function(x) { return (x - a) / b; }
|
12115
|
+
: constant$a(isNaN(b) ? NaN : 0.5);
|
12002
12116
|
}
|
12003
12117
|
|
12004
|
-
function
|
12005
|
-
|
12006
|
-
|
12007
|
-
|
12008
|
-
};
|
12118
|
+
function clamper(domain) {
|
12119
|
+
var a = domain[0], b = domain[domain.length - 1], t;
|
12120
|
+
if (a > b) t = a, a = b, b = t;
|
12121
|
+
return function(x) { return Math.max(a, Math.min(b, x)); };
|
12009
12122
|
}
|
12010
12123
|
|
12011
|
-
|
12124
|
+
// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].
|
12125
|
+
// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].
|
12126
|
+
function bimap(domain, range, interpolate$$1) {
|
12012
12127
|
var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];
|
12013
|
-
if (d1 < d0) d0 =
|
12014
|
-
else d0 =
|
12128
|
+
if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate$$1(r1, r0);
|
12129
|
+
else d0 = normalize(d0, d1), r0 = interpolate$$1(r0, r1);
|
12015
12130
|
return function(x) { return r0(d0(x)); };
|
12016
12131
|
}
|
12017
12132
|
|
12018
|
-
function polymap(domain, range,
|
12133
|
+
function polymap(domain, range, interpolate$$1) {
|
12019
12134
|
var j = Math.min(domain.length, range.length) - 1,
|
12020
12135
|
d = new Array(j),
|
12021
12136
|
r = new Array(j),
|
@@ -12028,8 +12143,8 @@ function polymap(domain, range, deinterpolate, reinterpolate) {
|
|
12028
12143
|
}
|
12029
12144
|
|
12030
12145
|
while (++i < j) {
|
12031
|
-
d[i] =
|
12032
|
-
r[i] =
|
12146
|
+
d[i] = normalize(domain[i], domain[i + 1]);
|
12147
|
+
r[i] = interpolate$$1(range[i], range[i + 1]);
|
12033
12148
|
}
|
12034
12149
|
|
12035
12150
|
return function(x) {
|
@@ -12043,16 +12158,18 @@ function copy(source, target) {
|
|
12043
12158
|
.domain(source.domain())
|
12044
12159
|
.range(source.range())
|
12045
12160
|
.interpolate(source.interpolate())
|
12046
|
-
.clamp(source.clamp())
|
12161
|
+
.clamp(source.clamp())
|
12162
|
+
.unknown(source.unknown());
|
12047
12163
|
}
|
12048
12164
|
|
12049
|
-
|
12050
|
-
// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].
|
12051
|
-
function continuous(deinterpolate, reinterpolate) {
|
12165
|
+
function transformer$1() {
|
12052
12166
|
var domain = unit,
|
12053
12167
|
range = unit,
|
12054
12168
|
interpolate$$1 = interpolateValue,
|
12055
|
-
|
12169
|
+
transform,
|
12170
|
+
untransform,
|
12171
|
+
unknown,
|
12172
|
+
clamp = identity$6,
|
12056
12173
|
piecewise$$1,
|
12057
12174
|
output,
|
12058
12175
|
input;
|
@@ -12064,15 +12181,15 @@ function continuous(deinterpolate, reinterpolate) {
|
|
12064
12181
|
}
|
12065
12182
|
|
12066
12183
|
function scale(x) {
|
12067
|
-
return (output || (output = piecewise$$1(domain, range,
|
12184
|
+
return isNaN(x = +x) ? unknown : (output || (output = piecewise$$1(domain.map(transform), range, interpolate$$1)))(transform(clamp(x)));
|
12068
12185
|
}
|
12069
12186
|
|
12070
12187
|
scale.invert = function(y) {
|
12071
|
-
return (input || (input = piecewise$$1(range, domain
|
12188
|
+
return clamp(untransform((input || (input = piecewise$$1(range, domain.map(transform), interpolateNumber)))(y)));
|
12072
12189
|
};
|
12073
12190
|
|
12074
12191
|
scale.domain = function(_) {
|
12075
|
-
return arguments.length ? (domain = map$2.call(_, number$2), rescale()) : domain.slice();
|
12192
|
+
return arguments.length ? (domain = map$2.call(_, number$2), clamp === identity$6 || (clamp = clamper(domain)), rescale()) : domain.slice();
|
12076
12193
|
};
|
12077
12194
|
|
12078
12195
|
scale.range = function(_) {
|
@@ -12084,20 +12201,29 @@ function continuous(deinterpolate, reinterpolate) {
|
|
12084
12201
|
};
|
12085
12202
|
|
12086
12203
|
scale.clamp = function(_) {
|
12087
|
-
return arguments.length ? (clamp =
|
12204
|
+
return arguments.length ? (clamp = _ ? clamper(domain) : identity$6, scale) : clamp !== identity$6;
|
12088
12205
|
};
|
12089
12206
|
|
12090
12207
|
scale.interpolate = function(_) {
|
12091
12208
|
return arguments.length ? (interpolate$$1 = _, rescale()) : interpolate$$1;
|
12092
12209
|
};
|
12093
12210
|
|
12094
|
-
|
12211
|
+
scale.unknown = function(_) {
|
12212
|
+
return arguments.length ? (unknown = _, scale) : unknown;
|
12213
|
+
};
|
12214
|
+
|
12215
|
+
return function(t, u) {
|
12216
|
+
transform = t, untransform = u;
|
12217
|
+
return rescale();
|
12218
|
+
};
|
12095
12219
|
}
|
12096
12220
|
|
12097
|
-
function
|
12098
|
-
|
12099
|
-
|
12100
|
-
|
12221
|
+
function continuous(transform, untransform) {
|
12222
|
+
return transformer$1()(transform, untransform);
|
12223
|
+
}
|
12224
|
+
|
12225
|
+
function tickFormat(start, stop, count, specifier) {
|
12226
|
+
var step = tickStep(start, stop, count),
|
12101
12227
|
precision;
|
12102
12228
|
specifier = formatSpecifier(specifier == null ? ",f" : specifier);
|
12103
12229
|
switch (specifier.type) {
|
@@ -12132,7 +12258,8 @@ function linearish(scale) {
|
|
12132
12258
|
};
|
12133
12259
|
|
12134
12260
|
scale.tickFormat = function(count, specifier) {
|
12135
|
-
|
12261
|
+
var d = domain();
|
12262
|
+
return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);
|
12136
12263
|
};
|
12137
12264
|
|
12138
12265
|
scale.nice = function(count) {
|
@@ -12179,20 +12306,22 @@ function linearish(scale) {
|
|
12179
12306
|
}
|
12180
12307
|
|
12181
12308
|
function linear$2() {
|
12182
|
-
var scale = continuous(
|
12309
|
+
var scale = continuous(identity$6, identity$6);
|
12183
12310
|
|
12184
12311
|
scale.copy = function() {
|
12185
12312
|
return copy(scale, linear$2());
|
12186
12313
|
};
|
12187
12314
|
|
12315
|
+
initRange.apply(scale, arguments);
|
12316
|
+
|
12188
12317
|
return linearish(scale);
|
12189
12318
|
}
|
12190
12319
|
|
12191
|
-
function identity$
|
12192
|
-
var
|
12320
|
+
function identity$7(domain) {
|
12321
|
+
var unknown;
|
12193
12322
|
|
12194
12323
|
function scale(x) {
|
12195
|
-
return +x;
|
12324
|
+
return isNaN(x = +x) ? unknown : x;
|
12196
12325
|
}
|
12197
12326
|
|
12198
12327
|
scale.invert = scale;
|
@@ -12201,10 +12330,16 @@ function identity$6() {
|
|
12201
12330
|
return arguments.length ? (domain = map$2.call(_, number$2), scale) : domain.slice();
|
12202
12331
|
};
|
12203
12332
|
|
12333
|
+
scale.unknown = function(_) {
|
12334
|
+
return arguments.length ? (unknown = _, scale) : unknown;
|
12335
|
+
};
|
12336
|
+
|
12204
12337
|
scale.copy = function() {
|
12205
|
-
return identity$
|
12338
|
+
return identity$7(domain).unknown(unknown);
|
12206
12339
|
};
|
12207
12340
|
|
12341
|
+
domain = arguments.length ? map$2.call(domain, number$2) : [0, 1];
|
12342
|
+
|
12208
12343
|
return linearish(scale);
|
12209
12344
|
}
|
12210
12345
|
|
@@ -12227,16 +12362,20 @@ function nice(domain, interval) {
|
|
12227
12362
|
return domain;
|
12228
12363
|
}
|
12229
12364
|
|
12230
|
-
function
|
12231
|
-
return
|
12232
|
-
|
12233
|
-
|
12365
|
+
function transformLog(x) {
|
12366
|
+
return Math.log(x);
|
12367
|
+
}
|
12368
|
+
|
12369
|
+
function transformExp(x) {
|
12370
|
+
return Math.exp(x);
|
12371
|
+
}
|
12372
|
+
|
12373
|
+
function transformLogn(x) {
|
12374
|
+
return -Math.log(-x);
|
12234
12375
|
}
|
12235
12376
|
|
12236
|
-
function
|
12237
|
-
return
|
12238
|
-
? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); }
|
12239
|
-
: function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); };
|
12377
|
+
function transformExpn(x) {
|
12378
|
+
return -Math.exp(-x);
|
12240
12379
|
}
|
12241
12380
|
|
12242
12381
|
function pow10(x) {
|
@@ -12262,16 +12401,21 @@ function reflect(f) {
|
|
12262
12401
|
};
|
12263
12402
|
}
|
12264
12403
|
|
12265
|
-
function
|
12266
|
-
var scale =
|
12404
|
+
function loggish(transform) {
|
12405
|
+
var scale = transform(transformLog, transformExp),
|
12267
12406
|
domain = scale.domain,
|
12268
12407
|
base = 10,
|
12269
|
-
logs
|
12270
|
-
pows
|
12408
|
+
logs,
|
12409
|
+
pows;
|
12271
12410
|
|
12272
12411
|
function rescale() {
|
12273
12412
|
logs = logp(base), pows = powp(base);
|
12274
|
-
if (domain()[0] < 0)
|
12413
|
+
if (domain()[0] < 0) {
|
12414
|
+
logs = reflect(logs), pows = reflect(pows);
|
12415
|
+
transform(transformLogn, transformExpn);
|
12416
|
+
} else {
|
12417
|
+
transform(transformLog, transformExp);
|
12418
|
+
}
|
12275
12419
|
return scale;
|
12276
12420
|
}
|
12277
12421
|
|
@@ -12343,52 +12487,105 @@ function log$1() {
|
|
12343
12487
|
}));
|
12344
12488
|
};
|
12345
12489
|
|
12490
|
+
return scale;
|
12491
|
+
}
|
12492
|
+
|
12493
|
+
function log$1() {
|
12494
|
+
var scale = loggish(transformer$1()).domain([1, 10]);
|
12495
|
+
|
12346
12496
|
scale.copy = function() {
|
12347
|
-
return copy(scale, log$1().base(base));
|
12497
|
+
return copy(scale, log$1()).base(scale.base());
|
12348
12498
|
};
|
12349
12499
|
|
12500
|
+
initRange.apply(scale, arguments);
|
12501
|
+
|
12350
12502
|
return scale;
|
12351
12503
|
}
|
12352
12504
|
|
12353
|
-
function
|
12354
|
-
return
|
12505
|
+
function transformSymlog(c) {
|
12506
|
+
return function(x) {
|
12507
|
+
return Math.sign(x) * Math.log1p(Math.abs(x / c));
|
12508
|
+
};
|
12355
12509
|
}
|
12356
12510
|
|
12357
|
-
function
|
12358
|
-
|
12359
|
-
|
12360
|
-
|
12511
|
+
function transformSymexp(c) {
|
12512
|
+
return function(x) {
|
12513
|
+
return Math.sign(x) * Math.expm1(Math.abs(x)) * c;
|
12514
|
+
};
|
12515
|
+
}
|
12361
12516
|
|
12362
|
-
|
12363
|
-
|
12364
|
-
? function(x) { return (raise$1(x, exponent) - a) / b; }
|
12365
|
-
: constant$a(b);
|
12366
|
-
}
|
12517
|
+
function symlogish(transform) {
|
12518
|
+
var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));
|
12367
12519
|
|
12368
|
-
function
|
12369
|
-
|
12370
|
-
|
12520
|
+
scale.constant = function(_) {
|
12521
|
+
return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;
|
12522
|
+
};
|
12523
|
+
|
12524
|
+
return linearish(scale);
|
12525
|
+
}
|
12526
|
+
|
12527
|
+
function symlog() {
|
12528
|
+
var scale = symlogish(transformer$1());
|
12529
|
+
|
12530
|
+
scale.copy = function() {
|
12531
|
+
return copy(scale, symlog()).constant(scale.constant());
|
12532
|
+
};
|
12533
|
+
|
12534
|
+
return initRange.apply(scale, arguments);
|
12535
|
+
}
|
12536
|
+
|
12537
|
+
function transformPow(exponent) {
|
12538
|
+
return function(x) {
|
12539
|
+
return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);
|
12540
|
+
};
|
12541
|
+
}
|
12542
|
+
|
12543
|
+
function transformSqrt(x) {
|
12544
|
+
return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);
|
12545
|
+
}
|
12546
|
+
|
12547
|
+
function transformSquare(x) {
|
12548
|
+
return x < 0 ? -x * x : x * x;
|
12549
|
+
}
|
12550
|
+
|
12551
|
+
function powish(transform) {
|
12552
|
+
var scale = transform(identity$6, identity$6),
|
12553
|
+
exponent = 1;
|
12554
|
+
|
12555
|
+
function rescale() {
|
12556
|
+
return exponent === 1 ? transform(identity$6, identity$6)
|
12557
|
+
: exponent === 0.5 ? transform(transformSqrt, transformSquare)
|
12558
|
+
: transform(transformPow(exponent), transformPow(1 / exponent));
|
12371
12559
|
}
|
12372
12560
|
|
12373
12561
|
scale.exponent = function(_) {
|
12374
|
-
return arguments.length ? (exponent = +_,
|
12562
|
+
return arguments.length ? (exponent = +_, rescale()) : exponent;
|
12375
12563
|
};
|
12376
12564
|
|
12565
|
+
return linearish(scale);
|
12566
|
+
}
|
12567
|
+
|
12568
|
+
function pow$1() {
|
12569
|
+
var scale = powish(transformer$1());
|
12570
|
+
|
12377
12571
|
scale.copy = function() {
|
12378
|
-
return copy(scale, pow$1().exponent(exponent));
|
12572
|
+
return copy(scale, pow$1()).exponent(scale.exponent());
|
12379
12573
|
};
|
12380
12574
|
|
12381
|
-
|
12575
|
+
initRange.apply(scale, arguments);
|
12576
|
+
|
12577
|
+
return scale;
|
12382
12578
|
}
|
12383
12579
|
|
12384
12580
|
function sqrt$1() {
|
12385
|
-
return pow$1().exponent(0.5);
|
12581
|
+
return pow$1.apply(null, arguments).exponent(0.5);
|
12386
12582
|
}
|
12387
12583
|
|
12388
12584
|
function quantile$$1() {
|
12389
12585
|
var domain = [],
|
12390
12586
|
range = [],
|
12391
|
-
thresholds = []
|
12587
|
+
thresholds = [],
|
12588
|
+
unknown;
|
12392
12589
|
|
12393
12590
|
function rescale() {
|
12394
12591
|
var i = 0, n = Math.max(1, range.length);
|
@@ -12398,7 +12595,7 @@ function quantile$$1() {
|
|
12398
12595
|
}
|
12399
12596
|
|
12400
12597
|
function scale(x) {
|
12401
|
-
|
12598
|
+
return isNaN(x = +x) ? unknown : range[bisectRight(thresholds, x)];
|
12402
12599
|
}
|
12403
12600
|
|
12404
12601
|
scale.invertExtent = function(y) {
|
@@ -12421,6 +12618,10 @@ function quantile$$1() {
|
|
12421
12618
|
return arguments.length ? (range = slice$5.call(_), rescale()) : range.slice();
|
12422
12619
|
};
|
12423
12620
|
|
12621
|
+
scale.unknown = function(_) {
|
12622
|
+
return arguments.length ? (unknown = _, scale) : unknown;
|
12623
|
+
};
|
12624
|
+
|
12424
12625
|
scale.quantiles = function() {
|
12425
12626
|
return thresholds.slice();
|
12426
12627
|
};
|
@@ -12428,10 +12629,11 @@ function quantile$$1() {
|
|
12428
12629
|
scale.copy = function() {
|
12429
12630
|
return quantile$$1()
|
12430
12631
|
.domain(domain)
|
12431
|
-
.range(range)
|
12632
|
+
.range(range)
|
12633
|
+
.unknown(unknown);
|
12432
12634
|
};
|
12433
12635
|
|
12434
|
-
return scale;
|
12636
|
+
return initRange.apply(scale, arguments);
|
12435
12637
|
}
|
12436
12638
|
|
12437
12639
|
function quantize$1() {
|
@@ -12439,10 +12641,11 @@ function quantize$1() {
|
|
12439
12641
|
x1 = 1,
|
12440
12642
|
n = 1,
|
12441
12643
|
domain = [0.5],
|
12442
|
-
range = [0, 1]
|
12644
|
+
range = [0, 1],
|
12645
|
+
unknown;
|
12443
12646
|
|
12444
12647
|
function scale(x) {
|
12445
|
-
|
12648
|
+
return x <= x ? range[bisectRight(domain, x, 0, n)] : unknown;
|
12446
12649
|
}
|
12447
12650
|
|
12448
12651
|
function rescale() {
|
@@ -12468,22 +12671,32 @@ function quantize$1() {
|
|
12468
12671
|
: [domain[i - 1], domain[i]];
|
12469
12672
|
};
|
12470
12673
|
|
12674
|
+
scale.unknown = function(_) {
|
12675
|
+
return arguments.length ? (unknown = _, scale) : scale;
|
12676
|
+
};
|
12677
|
+
|
12678
|
+
scale.thresholds = function() {
|
12679
|
+
return domain.slice();
|
12680
|
+
};
|
12681
|
+
|
12471
12682
|
scale.copy = function() {
|
12472
12683
|
return quantize$1()
|
12473
12684
|
.domain([x0, x1])
|
12474
|
-
.range(range)
|
12685
|
+
.range(range)
|
12686
|
+
.unknown(unknown);
|
12475
12687
|
};
|
12476
12688
|
|
12477
|
-
return linearish(scale);
|
12689
|
+
return initRange.apply(linearish(scale), arguments);
|
12478
12690
|
}
|
12479
12691
|
|
12480
12692
|
function threshold$1() {
|
12481
12693
|
var domain = [0.5],
|
12482
12694
|
range = [0, 1],
|
12695
|
+
unknown,
|
12483
12696
|
n = 1;
|
12484
12697
|
|
12485
12698
|
function scale(x) {
|
12486
|
-
|
12699
|
+
return x <= x ? range[bisectRight(domain, x, 0, n)] : unknown;
|
12487
12700
|
}
|
12488
12701
|
|
12489
12702
|
scale.domain = function(_) {
|
@@ -12499,13 +12712,18 @@ function threshold$1() {
|
|
12499
12712
|
return [domain[i - 1], domain[i]];
|
12500
12713
|
};
|
12501
12714
|
|
12715
|
+
scale.unknown = function(_) {
|
12716
|
+
return arguments.length ? (unknown = _, scale) : unknown;
|
12717
|
+
};
|
12718
|
+
|
12502
12719
|
scale.copy = function() {
|
12503
12720
|
return threshold$1()
|
12504
12721
|
.domain(domain)
|
12505
|
-
.range(range)
|
12722
|
+
.range(range)
|
12723
|
+
.unknown(unknown);
|
12506
12724
|
};
|
12507
12725
|
|
12508
|
-
return scale;
|
12726
|
+
return initRange.apply(scale, arguments);
|
12509
12727
|
}
|
12510
12728
|
|
12511
12729
|
var t0$1 = new Date,
|
@@ -12607,7 +12825,7 @@ var durationDay = 864e5;
|
|
12607
12825
|
var durationWeek = 6048e5;
|
12608
12826
|
|
12609
12827
|
var second = newInterval(function(date) {
|
12610
|
-
date.setTime(
|
12828
|
+
date.setTime(date - date.getMilliseconds());
|
12611
12829
|
}, function(date, step) {
|
12612
12830
|
date.setTime(+date + step * durationSecond);
|
12613
12831
|
}, function(start, end) {
|
@@ -12618,7 +12836,7 @@ var second = newInterval(function(date) {
|
|
12618
12836
|
var seconds = second.range;
|
12619
12837
|
|
12620
12838
|
var minute = newInterval(function(date) {
|
12621
|
-
date.setTime(
|
12839
|
+
date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);
|
12622
12840
|
}, function(date, step) {
|
12623
12841
|
date.setTime(+date + step * durationMinute);
|
12624
12842
|
}, function(start, end) {
|
@@ -12629,9 +12847,7 @@ var minute = newInterval(function(date) {
|
|
12629
12847
|
var minutes = minute.range;
|
12630
12848
|
|
12631
12849
|
var hour = newInterval(function(date) {
|
12632
|
-
|
12633
|
-
if (offset < 0) offset += durationHour;
|
12634
|
-
date.setTime(Math.floor((+date - offset) / durationHour) * durationHour + offset);
|
12850
|
+
date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);
|
12635
12851
|
}, function(date, step) {
|
12636
12852
|
date.setTime(+date + step * durationHour);
|
12637
12853
|
}, function(start, end) {
|
@@ -12878,7 +13094,7 @@ function formatLocale$1(locale) {
|
|
12878
13094
|
"W": formatWeekNumberMonday,
|
12879
13095
|
"x": null,
|
12880
13096
|
"X": null,
|
12881
|
-
"y": formatYear,
|
13097
|
+
"y": formatYear$1,
|
12882
13098
|
"Y": formatFullYear,
|
12883
13099
|
"Z": formatZone,
|
12884
13100
|
"%": formatLiteralPercent
|
@@ -13164,7 +13380,7 @@ var pads = {"-": "", "_": " ", "0": "0"},
|
|
13164
13380
|
percentRe = /^%/,
|
13165
13381
|
requoteRe = /[\\^$*+?|[\]().{}]/g;
|
13166
13382
|
|
13167
|
-
function pad(value, fill, width) {
|
13383
|
+
function pad$1(value, fill, width) {
|
13168
13384
|
var sign = value < 0 ? "-" : "",
|
13169
13385
|
string = (sign ? -value : value) + "",
|
13170
13386
|
length = string.length;
|
@@ -13281,23 +13497,23 @@ function parseUnixTimestampSeconds(d, string, i) {
|
|
13281
13497
|
}
|
13282
13498
|
|
13283
13499
|
function formatDayOfMonth(d, p) {
|
13284
|
-
return pad(d.getDate(), p, 2);
|
13500
|
+
return pad$1(d.getDate(), p, 2);
|
13285
13501
|
}
|
13286
13502
|
|
13287
13503
|
function formatHour24(d, p) {
|
13288
|
-
return pad(d.getHours(), p, 2);
|
13504
|
+
return pad$1(d.getHours(), p, 2);
|
13289
13505
|
}
|
13290
13506
|
|
13291
13507
|
function formatHour12(d, p) {
|
13292
|
-
return pad(d.getHours() % 12 || 12, p, 2);
|
13508
|
+
return pad$1(d.getHours() % 12 || 12, p, 2);
|
13293
13509
|
}
|
13294
13510
|
|
13295
13511
|
function formatDayOfYear(d, p) {
|
13296
|
-
return pad(1 + day.count(year(d), d), p, 3);
|
13512
|
+
return pad$1(1 + day.count(year(d), d), p, 3);
|
13297
13513
|
}
|
13298
13514
|
|
13299
13515
|
function formatMilliseconds(d, p) {
|
13300
|
-
return pad(d.getMilliseconds(), p, 3);
|
13516
|
+
return pad$1(d.getMilliseconds(), p, 3);
|
13301
13517
|
}
|
13302
13518
|
|
13303
13519
|
function formatMicroseconds(d, p) {
|
@@ -13305,15 +13521,15 @@ function formatMicroseconds(d, p) {
|
|
13305
13521
|
}
|
13306
13522
|
|
13307
13523
|
function formatMonthNumber(d, p) {
|
13308
|
-
return pad(d.getMonth() + 1, p, 2);
|
13524
|
+
return pad$1(d.getMonth() + 1, p, 2);
|
13309
13525
|
}
|
13310
13526
|
|
13311
13527
|
function formatMinutes(d, p) {
|
13312
|
-
return pad(d.getMinutes(), p, 2);
|
13528
|
+
return pad$1(d.getMinutes(), p, 2);
|
13313
13529
|
}
|
13314
13530
|
|
13315
13531
|
function formatSeconds(d, p) {
|
13316
|
-
return pad(d.getSeconds(), p, 2);
|
13532
|
+
return pad$1(d.getSeconds(), p, 2);
|
13317
13533
|
}
|
13318
13534
|
|
13319
13535
|
function formatWeekdayNumberMonday(d) {
|
@@ -13322,13 +13538,13 @@ function formatWeekdayNumberMonday(d) {
|
|
13322
13538
|
}
|
13323
13539
|
|
13324
13540
|
function formatWeekNumberSunday(d, p) {
|
13325
|
-
return pad(sunday.count(year(d), d), p, 2);
|
13541
|
+
return pad$1(sunday.count(year(d), d), p, 2);
|
13326
13542
|
}
|
13327
13543
|
|
13328
13544
|
function formatWeekNumberISO(d, p) {
|
13329
13545
|
var day$$1 = d.getDay();
|
13330
13546
|
d = (day$$1 >= 4 || day$$1 === 0) ? thursday(d) : thursday.ceil(d);
|
13331
|
-
return pad(thursday.count(year(d), d) + (year(d).getDay() === 4), p, 2);
|
13547
|
+
return pad$1(thursday.count(year(d), d) + (year(d).getDay() === 4), p, 2);
|
13332
13548
|
}
|
13333
13549
|
|
13334
13550
|
function formatWeekdayNumberSunday(d) {
|
@@ -13336,42 +13552,42 @@ function formatWeekdayNumberSunday(d) {
|
|
13336
13552
|
}
|
13337
13553
|
|
13338
13554
|
function formatWeekNumberMonday(d, p) {
|
13339
|
-
return pad(monday.count(year(d), d), p, 2);
|
13555
|
+
return pad$1(monday.count(year(d), d), p, 2);
|
13340
13556
|
}
|
13341
13557
|
|
13342
|
-
function formatYear(d, p) {
|
13343
|
-
return pad(d.getFullYear() % 100, p, 2);
|
13558
|
+
function formatYear$1(d, p) {
|
13559
|
+
return pad$1(d.getFullYear() % 100, p, 2);
|
13344
13560
|
}
|
13345
13561
|
|
13346
13562
|
function formatFullYear(d, p) {
|
13347
|
-
return pad(d.getFullYear() % 10000, p, 4);
|
13563
|
+
return pad$1(d.getFullYear() % 10000, p, 4);
|
13348
13564
|
}
|
13349
13565
|
|
13350
13566
|
function formatZone(d) {
|
13351
13567
|
var z = d.getTimezoneOffset();
|
13352
13568
|
return (z > 0 ? "-" : (z *= -1, "+"))
|
13353
|
-
+ pad(z / 60 | 0, "0", 2)
|
13354
|
-
+ pad(z % 60, "0", 2);
|
13569
|
+
+ pad$1(z / 60 | 0, "0", 2)
|
13570
|
+
+ pad$1(z % 60, "0", 2);
|
13355
13571
|
}
|
13356
13572
|
|
13357
13573
|
function formatUTCDayOfMonth(d, p) {
|
13358
|
-
return pad(d.getUTCDate(), p, 2);
|
13574
|
+
return pad$1(d.getUTCDate(), p, 2);
|
13359
13575
|
}
|
13360
13576
|
|
13361
13577
|
function formatUTCHour24(d, p) {
|
13362
|
-
return pad(d.getUTCHours(), p, 2);
|
13578
|
+
return pad$1(d.getUTCHours(), p, 2);
|
13363
13579
|
}
|
13364
13580
|
|
13365
13581
|
function formatUTCHour12(d, p) {
|
13366
|
-
return pad(d.getUTCHours() % 12 || 12, p, 2);
|
13582
|
+
return pad$1(d.getUTCHours() % 12 || 12, p, 2);
|
13367
13583
|
}
|
13368
13584
|
|
13369
13585
|
function formatUTCDayOfYear(d, p) {
|
13370
|
-
return pad(1 + utcDay.count(utcYear(d), d), p, 3);
|
13586
|
+
return pad$1(1 + utcDay.count(utcYear(d), d), p, 3);
|
13371
13587
|
}
|
13372
13588
|
|
13373
13589
|
function formatUTCMilliseconds(d, p) {
|
13374
|
-
return pad(d.getUTCMilliseconds(), p, 3);
|
13590
|
+
return pad$1(d.getUTCMilliseconds(), p, 3);
|
13375
13591
|
}
|
13376
13592
|
|
13377
13593
|
function formatUTCMicroseconds(d, p) {
|
@@ -13379,15 +13595,15 @@ function formatUTCMicroseconds(d, p) {
|
|
13379
13595
|
}
|
13380
13596
|
|
13381
13597
|
function formatUTCMonthNumber(d, p) {
|
13382
|
-
return pad(d.getUTCMonth() + 1, p, 2);
|
13598
|
+
return pad$1(d.getUTCMonth() + 1, p, 2);
|
13383
13599
|
}
|
13384
13600
|
|
13385
13601
|
function formatUTCMinutes(d, p) {
|
13386
|
-
return pad(d.getUTCMinutes(), p, 2);
|
13602
|
+
return pad$1(d.getUTCMinutes(), p, 2);
|
13387
13603
|
}
|
13388
13604
|
|
13389
13605
|
function formatUTCSeconds(d, p) {
|
13390
|
-
return pad(d.getUTCSeconds(), p, 2);
|
13606
|
+
return pad$1(d.getUTCSeconds(), p, 2);
|
13391
13607
|
}
|
13392
13608
|
|
13393
13609
|
function formatUTCWeekdayNumberMonday(d) {
|
@@ -13396,13 +13612,13 @@ function formatUTCWeekdayNumberMonday(d) {
|
|
13396
13612
|
}
|
13397
13613
|
|
13398
13614
|
function formatUTCWeekNumberSunday(d, p) {
|
13399
|
-
return pad(utcSunday.count(utcYear(d), d), p, 2);
|
13615
|
+
return pad$1(utcSunday.count(utcYear(d), d), p, 2);
|
13400
13616
|
}
|
13401
13617
|
|
13402
13618
|
function formatUTCWeekNumberISO(d, p) {
|
13403
13619
|
var day$$1 = d.getUTCDay();
|
13404
13620
|
d = (day$$1 >= 4 || day$$1 === 0) ? utcThursday(d) : utcThursday.ceil(d);
|
13405
|
-
return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);
|
13621
|
+
return pad$1(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);
|
13406
13622
|
}
|
13407
13623
|
|
13408
13624
|
function formatUTCWeekdayNumberSunday(d) {
|
@@ -13410,15 +13626,15 @@ function formatUTCWeekdayNumberSunday(d) {
|
|
13410
13626
|
}
|
13411
13627
|
|
13412
13628
|
function formatUTCWeekNumberMonday(d, p) {
|
13413
|
-
return pad(utcMonday.count(utcYear(d), d), p, 2);
|
13629
|
+
return pad$1(utcMonday.count(utcYear(d), d), p, 2);
|
13414
13630
|
}
|
13415
13631
|
|
13416
13632
|
function formatUTCYear(d, p) {
|
13417
|
-
return pad(d.getUTCFullYear() % 100, p, 2);
|
13633
|
+
return pad$1(d.getUTCFullYear() % 100, p, 2);
|
13418
13634
|
}
|
13419
13635
|
|
13420
13636
|
function formatUTCFullYear(d, p) {
|
13421
|
-
return pad(d.getUTCFullYear() % 10000, p, 4);
|
13637
|
+
return pad$1(d.getUTCFullYear() % 10000, p, 4);
|
13422
13638
|
}
|
13423
13639
|
|
13424
13640
|
function formatUTCZone() {
|
@@ -13495,7 +13711,7 @@ function number$3(t) {
|
|
13495
13711
|
}
|
13496
13712
|
|
13497
13713
|
function calendar(year$$1, month$$1, week, day$$1, hour$$1, minute$$1, second$$1, millisecond$$1, format) {
|
13498
|
-
var scale = continuous(
|
13714
|
+
var scale = continuous(identity$6, identity$6),
|
13499
13715
|
invert = scale.invert,
|
13500
13716
|
domain = scale.domain;
|
13501
13717
|
|
@@ -13529,14 +13745,14 @@ function calendar(year$$1, month$$1, week, day$$1, hour$$1, minute$$1, second$$1
|
|
13529
13745
|
[ year$$1, 1, durationYear ]
|
13530
13746
|
];
|
13531
13747
|
|
13532
|
-
function tickFormat(date
|
13533
|
-
return (second$$1(date
|
13534
|
-
: minute$$1(date
|
13535
|
-
: hour$$1(date
|
13536
|
-
: day$$1(date
|
13537
|
-
: month$$1(date
|
13538
|
-
: year$$1(date
|
13539
|
-
: formatYear)(date
|
13748
|
+
function tickFormat(date) {
|
13749
|
+
return (second$$1(date) < date ? formatMillisecond
|
13750
|
+
: minute$$1(date) < date ? formatSecond
|
13751
|
+
: hour$$1(date) < date ? formatMinute
|
13752
|
+
: day$$1(date) < date ? formatHour
|
13753
|
+
: month$$1(date) < date ? (week(date) < date ? formatDay : formatWeek)
|
13754
|
+
: year$$1(date) < date ? formatMonth
|
13755
|
+
: formatYear)(date);
|
13540
13756
|
}
|
13541
13757
|
|
13542
13758
|
function tickInterval(interval, start, stop, step) {
|
@@ -13603,26 +13819,30 @@ function calendar(year$$1, month$$1, week, day$$1, hour$$1, minute$$1, second$$1
|
|
13603
13819
|
}
|
13604
13820
|
|
13605
13821
|
function time() {
|
13606
|
-
return calendar(year, month, sunday, day, hour, minute, second, millisecond, exports.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);
|
13822
|
+
return initRange.apply(calendar(year, month, sunday, day, hour, minute, second, millisecond, exports.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);
|
13607
13823
|
}
|
13608
13824
|
|
13609
13825
|
function utcTime() {
|
13610
|
-
return calendar(utcYear, utcMonth, utcSunday, utcDay, utcHour, utcMinute, second, millisecond, exports.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);
|
13826
|
+
return initRange.apply(calendar(utcYear, utcMonth, utcSunday, utcDay, utcHour, utcMinute, second, millisecond, exports.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);
|
13611
13827
|
}
|
13612
13828
|
|
13613
|
-
function
|
13829
|
+
function transformer$2() {
|
13614
13830
|
var x0 = 0,
|
13615
13831
|
x1 = 1,
|
13616
|
-
|
13617
|
-
|
13832
|
+
t0,
|
13833
|
+
t1,
|
13834
|
+
k10,
|
13835
|
+
transform,
|
13836
|
+
interpolator = identity$6,
|
13837
|
+
clamp = false,
|
13838
|
+
unknown;
|
13618
13839
|
|
13619
13840
|
function scale(x) {
|
13620
|
-
|
13621
|
-
return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);
|
13841
|
+
return isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));
|
13622
13842
|
}
|
13623
13843
|
|
13624
13844
|
scale.domain = function(_) {
|
13625
|
-
return arguments.length ? (x0 = +_[0], x1 = +_[1], k10 =
|
13845
|
+
return arguments.length ? (t0 = transform(x0 = +_[0]), t1 = transform(x1 = +_[1]), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1];
|
13626
13846
|
};
|
13627
13847
|
|
13628
13848
|
scale.clamp = function(_) {
|
@@ -13633,28 +13853,115 @@ function sequential(interpolator) {
|
|
13633
13853
|
return arguments.length ? (interpolator = _, scale) : interpolator;
|
13634
13854
|
};
|
13635
13855
|
|
13856
|
+
scale.unknown = function(_) {
|
13857
|
+
return arguments.length ? (unknown = _, scale) : unknown;
|
13858
|
+
};
|
13859
|
+
|
13860
|
+
return function(t) {
|
13861
|
+
transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);
|
13862
|
+
return scale;
|
13863
|
+
};
|
13864
|
+
}
|
13865
|
+
|
13866
|
+
function copy$1(source, target) {
|
13867
|
+
return target
|
13868
|
+
.domain(source.domain())
|
13869
|
+
.interpolator(source.interpolator())
|
13870
|
+
.clamp(source.clamp())
|
13871
|
+
.unknown(source.unknown());
|
13872
|
+
}
|
13873
|
+
|
13874
|
+
function sequential() {
|
13875
|
+
var scale = linearish(transformer$2()(identity$6));
|
13876
|
+
|
13877
|
+
scale.copy = function() {
|
13878
|
+
return copy$1(scale, sequential());
|
13879
|
+
};
|
13880
|
+
|
13881
|
+
return initInterpolator.apply(scale, arguments);
|
13882
|
+
}
|
13883
|
+
|
13884
|
+
function sequentialLog() {
|
13885
|
+
var scale = loggish(transformer$2()).domain([1, 10]);
|
13886
|
+
|
13636
13887
|
scale.copy = function() {
|
13637
|
-
return
|
13888
|
+
return copy$1(scale, sequentialLog()).base(scale.base());
|
13638
13889
|
};
|
13639
13890
|
|
13640
|
-
return
|
13891
|
+
return initInterpolator.apply(scale, arguments);
|
13641
13892
|
}
|
13642
13893
|
|
13643
|
-
function
|
13894
|
+
function sequentialSymlog() {
|
13895
|
+
var scale = symlogish(transformer$2());
|
13896
|
+
|
13897
|
+
scale.copy = function() {
|
13898
|
+
return copy$1(scale, sequentialSymlog()).constant(scale.constant());
|
13899
|
+
};
|
13900
|
+
|
13901
|
+
return initInterpolator.apply(scale, arguments);
|
13902
|
+
}
|
13903
|
+
|
13904
|
+
function sequentialPow() {
|
13905
|
+
var scale = powish(transformer$2());
|
13906
|
+
|
13907
|
+
scale.copy = function() {
|
13908
|
+
return copy$1(scale, sequentialPow()).exponent(scale.exponent());
|
13909
|
+
};
|
13910
|
+
|
13911
|
+
return initInterpolator.apply(scale, arguments);
|
13912
|
+
}
|
13913
|
+
|
13914
|
+
function sequentialSqrt() {
|
13915
|
+
return sequentialPow.apply(null, arguments).exponent(0.5);
|
13916
|
+
}
|
13917
|
+
|
13918
|
+
function sequentialQuantile() {
|
13919
|
+
var domain = [],
|
13920
|
+
interpolator = identity$6;
|
13921
|
+
|
13922
|
+
function scale(x) {
|
13923
|
+
if (!isNaN(x = +x)) return interpolator((bisectRight(domain, x) - 1) / (domain.length - 1));
|
13924
|
+
}
|
13925
|
+
|
13926
|
+
scale.domain = function(_) {
|
13927
|
+
if (!arguments.length) return domain.slice();
|
13928
|
+
domain = [];
|
13929
|
+
for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);
|
13930
|
+
domain.sort(ascending);
|
13931
|
+
return scale;
|
13932
|
+
};
|
13933
|
+
|
13934
|
+
scale.interpolator = function(_) {
|
13935
|
+
return arguments.length ? (interpolator = _, scale) : interpolator;
|
13936
|
+
};
|
13937
|
+
|
13938
|
+
scale.copy = function() {
|
13939
|
+
return sequentialQuantile(interpolator).domain(domain);
|
13940
|
+
};
|
13941
|
+
|
13942
|
+
return initInterpolator.apply(scale, arguments);
|
13943
|
+
}
|
13944
|
+
|
13945
|
+
function transformer$3() {
|
13644
13946
|
var x0 = 0,
|
13645
13947
|
x1 = 0.5,
|
13646
13948
|
x2 = 1,
|
13647
|
-
|
13648
|
-
|
13649
|
-
|
13949
|
+
t0,
|
13950
|
+
t1,
|
13951
|
+
t2,
|
13952
|
+
k10,
|
13953
|
+
k21,
|
13954
|
+
interpolator = identity$6,
|
13955
|
+
transform,
|
13956
|
+
clamp = false,
|
13957
|
+
unknown;
|
13650
13958
|
|
13651
13959
|
function scale(x) {
|
13652
|
-
|
13653
|
-
return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);
|
13960
|
+
return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (x < t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x));
|
13654
13961
|
}
|
13655
13962
|
|
13656
13963
|
scale.domain = function(_) {
|
13657
|
-
return arguments.length ? (x0 = +_[0], x1 = +_[1], x2 = +_[2], k10 =
|
13964
|
+
return arguments.length ? (t0 = transform(x0 = +_[0]), t1 = transform(x1 = +_[1]), t2 = transform(x2 = +_[2]), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), scale) : [x0, x1, x2];
|
13658
13965
|
};
|
13659
13966
|
|
13660
13967
|
scale.clamp = function(_) {
|
@@ -13665,11 +13972,58 @@ function diverging(interpolator) {
|
|
13665
13972
|
return arguments.length ? (interpolator = _, scale) : interpolator;
|
13666
13973
|
};
|
13667
13974
|
|
13975
|
+
scale.unknown = function(_) {
|
13976
|
+
return arguments.length ? (unknown = _, scale) : unknown;
|
13977
|
+
};
|
13978
|
+
|
13979
|
+
return function(t) {
|
13980
|
+
transform = t, t0 = t(x0), t1 = t(x1), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1);
|
13981
|
+
return scale;
|
13982
|
+
};
|
13983
|
+
}
|
13984
|
+
|
13985
|
+
function diverging() {
|
13986
|
+
var scale = linearish(transformer$3()(identity$6));
|
13987
|
+
|
13668
13988
|
scale.copy = function() {
|
13669
|
-
return
|
13989
|
+
return copy$1(scale, diverging());
|
13670
13990
|
};
|
13671
13991
|
|
13672
|
-
return
|
13992
|
+
return initInterpolator.apply(scale, arguments);
|
13993
|
+
}
|
13994
|
+
|
13995
|
+
function divergingLog() {
|
13996
|
+
var scale = loggish(transformer$3()).domain([0.1, 1, 10]);
|
13997
|
+
|
13998
|
+
scale.copy = function() {
|
13999
|
+
return copy$1(scale, divergingLog()).base(scale.base());
|
14000
|
+
};
|
14001
|
+
|
14002
|
+
return initInterpolator.apply(scale, arguments);
|
14003
|
+
}
|
14004
|
+
|
14005
|
+
function divergingSymlog() {
|
14006
|
+
var scale = symlogish(transformer$3());
|
14007
|
+
|
14008
|
+
scale.copy = function() {
|
14009
|
+
return copy$1(scale, divergingSymlog()).constant(scale.constant());
|
14010
|
+
};
|
14011
|
+
|
14012
|
+
return initInterpolator.apply(scale, arguments);
|
14013
|
+
}
|
14014
|
+
|
14015
|
+
function divergingPow() {
|
14016
|
+
var scale = powish(transformer$3());
|
14017
|
+
|
14018
|
+
scale.copy = function() {
|
14019
|
+
return copy$1(scale, divergingPow()).exponent(scale.exponent());
|
14020
|
+
};
|
14021
|
+
|
14022
|
+
return initInterpolator.apply(scale, arguments);
|
14023
|
+
}
|
14024
|
+
|
14025
|
+
function divergingSqrt() {
|
14026
|
+
return divergingPow.apply(null, arguments).exponent(0.5);
|
13673
14027
|
}
|
13674
14028
|
|
13675
14029
|
function colors(specifier) {
|
@@ -14137,7 +14491,9 @@ function arcPadAngle(d) {
|
|
14137
14491
|
function intersect(x0, y0, x1, y1, x2, y2, x3, y3) {
|
14138
14492
|
var x10 = x1 - x0, y10 = y1 - y0,
|
14139
14493
|
x32 = x3 - x2, y32 = y3 - y2,
|
14140
|
-
t =
|
14494
|
+
t = y32 * x10 - x32 * y10;
|
14495
|
+
if (t * t < epsilon$3) return;
|
14496
|
+
t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;
|
14141
14497
|
return [x0 + t * x10, y0 + t * y10];
|
14142
14498
|
}
|
14143
14499
|
|
@@ -14258,12 +14614,12 @@ function arc() {
|
|
14258
14614
|
var x11 = r1 * cos$2(a11),
|
14259
14615
|
y11 = r1 * sin$2(a11),
|
14260
14616
|
x00 = r0 * cos$2(a00),
|
14261
|
-
y00 = r0 * sin$2(a00)
|
14617
|
+
y00 = r0 * sin$2(a00),
|
14618
|
+
oc;
|
14262
14619
|
|
14263
14620
|
// Restrict the corner radius according to the sector angle.
|
14264
|
-
if (da < pi$4) {
|
14265
|
-
var
|
14266
|
-
ax = x01 - oc[0],
|
14621
|
+
if (da < pi$4 && (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10))) {
|
14622
|
+
var ax = x01 - oc[0],
|
14267
14623
|
ay = y01 - oc[1],
|
14268
14624
|
bx = x11 - oc[0],
|
14269
14625
|
by = y11 - oc[1],
|
@@ -14569,12 +14925,12 @@ function descending$1(a, b) {
|
|
14569
14925
|
return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
|
14570
14926
|
}
|
14571
14927
|
|
14572
|
-
function identity$
|
14928
|
+
function identity$8(d) {
|
14573
14929
|
return d;
|
14574
14930
|
}
|
14575
14931
|
|
14576
14932
|
function pie() {
|
14577
|
-
var value = identity$
|
14933
|
+
var value = identity$8,
|
14578
14934
|
sortValues = descending$1,
|
14579
14935
|
sort = null,
|
14580
14936
|
startAngle = constant$b(0),
|
@@ -15917,6 +16273,17 @@ function wiggle(series, order) {
|
|
15917
16273
|
none$1(series, order);
|
15918
16274
|
}
|
15919
16275
|
|
16276
|
+
function appearance(series) {
|
16277
|
+
var peaks = series.map(peak);
|
16278
|
+
return none$2(series).sort(function(a, b) { return peaks[a] - peaks[b]; });
|
16279
|
+
}
|
16280
|
+
|
16281
|
+
function peak(series) {
|
16282
|
+
var i = -1, j = 0, n = series.length, vi, vj = -Infinity;
|
16283
|
+
while (++i < n) if ((vi = +series[i][1]) > vj) vj = vi, j = i;
|
16284
|
+
return j;
|
16285
|
+
}
|
16286
|
+
|
15920
16287
|
function ascending$3(series) {
|
15921
16288
|
var sums = series.map(sum$2);
|
15922
16289
|
return none$2(series).sort(function(a, b) { return sums[a] - sums[b]; });
|
@@ -15937,7 +16304,7 @@ function insideOut(series) {
|
|
15937
16304
|
i,
|
15938
16305
|
j,
|
15939
16306
|
sums = series.map(sum$2),
|
15940
|
-
order =
|
16307
|
+
order = appearance(series),
|
15941
16308
|
top = 0,
|
15942
16309
|
bottom = 0,
|
15943
16310
|
tops = [],
|
@@ -17003,12 +17370,12 @@ Transform.prototype = {
|
|
17003
17370
|
}
|
17004
17371
|
};
|
17005
17372
|
|
17006
|
-
var identity$
|
17373
|
+
var identity$9 = new Transform(1, 0, 0);
|
17007
17374
|
|
17008
17375
|
transform$1.prototype = Transform.prototype;
|
17009
17376
|
|
17010
17377
|
function transform$1(node) {
|
17011
|
-
return node.__zoom || identity$
|
17378
|
+
return node.__zoom || identity$9;
|
17012
17379
|
}
|
17013
17380
|
|
17014
17381
|
function nopropagation$2() {
|
@@ -17039,7 +17406,7 @@ function defaultExtent$1() {
|
|
17039
17406
|
}
|
17040
17407
|
|
17041
17408
|
function defaultTransform() {
|
17042
|
-
return this.__zoom || identity$
|
17409
|
+
return this.__zoom || identity$9;
|
17043
17410
|
}
|
17044
17411
|
|
17045
17412
|
function defaultWheelDelta() {
|
@@ -17141,7 +17508,7 @@ function zoom() {
|
|
17141
17508
|
var e = extent.apply(this, arguments),
|
17142
17509
|
t = this.__zoom,
|
17143
17510
|
p = centroid(e);
|
17144
|
-
return constrain(identity$
|
17511
|
+
return constrain(identity$9.translate(p[0], p[1]).scale(t.k).translate(
|
17145
17512
|
typeof x === "function" ? -x.apply(this, arguments) : -x,
|
17146
17513
|
typeof y === "function" ? -y.apply(this, arguments) : -y
|
17147
17514
|
), e, translateExtent);
|
@@ -17502,11 +17869,14 @@ exports.dsvFormat = dsvFormat;
|
|
17502
17869
|
exports.csvParse = csvParse;
|
17503
17870
|
exports.csvParseRows = csvParseRows;
|
17504
17871
|
exports.csvFormat = csvFormat;
|
17872
|
+
exports.csvFormatBody = csvFormatBody;
|
17505
17873
|
exports.csvFormatRows = csvFormatRows;
|
17506
17874
|
exports.tsvParse = tsvParse;
|
17507
17875
|
exports.tsvParseRows = tsvParseRows;
|
17508
17876
|
exports.tsvFormat = tsvFormat;
|
17877
|
+
exports.tsvFormatBody = tsvFormatBody;
|
17509
17878
|
exports.tsvFormatRows = tsvFormatRows;
|
17879
|
+
exports.autoType = autoType;
|
17510
17880
|
exports.easeLinear = linear$1;
|
17511
17881
|
exports.easeQuad = quadInOut;
|
17512
17882
|
exports.easeQuadIn = quadIn;
|
@@ -17674,9 +18044,10 @@ exports.randomIrwinHall = irwinHall;
|
|
17674
18044
|
exports.randomExponential = exponential$1;
|
17675
18045
|
exports.scaleBand = band;
|
17676
18046
|
exports.scalePoint = point$1;
|
17677
|
-
exports.scaleIdentity = identity$
|
18047
|
+
exports.scaleIdentity = identity$7;
|
17678
18048
|
exports.scaleLinear = linear$2;
|
17679
18049
|
exports.scaleLog = log$1;
|
18050
|
+
exports.scaleSymlog = symlog;
|
17680
18051
|
exports.scaleOrdinal = ordinal;
|
17681
18052
|
exports.scaleImplicit = implicit;
|
17682
18053
|
exports.scalePow = pow$1;
|
@@ -17687,7 +18058,17 @@ exports.scaleThreshold = threshold$1;
|
|
17687
18058
|
exports.scaleTime = time;
|
17688
18059
|
exports.scaleUtc = utcTime;
|
17689
18060
|
exports.scaleSequential = sequential;
|
18061
|
+
exports.scaleSequentialLog = sequentialLog;
|
18062
|
+
exports.scaleSequentialPow = sequentialPow;
|
18063
|
+
exports.scaleSequentialSqrt = sequentialSqrt;
|
18064
|
+
exports.scaleSequentialSymlog = sequentialSymlog;
|
18065
|
+
exports.scaleSequentialQuantile = sequentialQuantile;
|
17690
18066
|
exports.scaleDiverging = diverging;
|
18067
|
+
exports.scaleDivergingLog = divergingLog;
|
18068
|
+
exports.scaleDivergingPow = divergingPow;
|
18069
|
+
exports.scaleDivergingSqrt = divergingSqrt;
|
18070
|
+
exports.scaleDivergingSymlog = divergingSymlog;
|
18071
|
+
exports.tickFormat = tickFormat;
|
17691
18072
|
exports.schemeCategory10 = category10;
|
17692
18073
|
exports.schemeAccent = Accent;
|
17693
18074
|
exports.schemeDark2 = Dark2;
|
@@ -17763,7 +18144,7 @@ exports.interpolatePlasma = plasma;
|
|
17763
18144
|
exports.create = create;
|
17764
18145
|
exports.creator = creator;
|
17765
18146
|
exports.local = local;
|
17766
|
-
exports.matcher = matcher
|
18147
|
+
exports.matcher = matcher;
|
17767
18148
|
exports.mouse = mouse;
|
17768
18149
|
exports.namespace = namespace;
|
17769
18150
|
exports.namespaces = namespaces;
|
@@ -17823,6 +18204,7 @@ exports.stackOffsetDiverging = diverging$1;
|
|
17823
18204
|
exports.stackOffsetNone = none$1;
|
17824
18205
|
exports.stackOffsetSilhouette = silhouette;
|
17825
18206
|
exports.stackOffsetWiggle = wiggle;
|
18207
|
+
exports.stackOrderAppearance = appearance;
|
17826
18208
|
exports.stackOrderAscending = ascending$3;
|
17827
18209
|
exports.stackOrderDescending = descending$2;
|
17828
18210
|
exports.stackOrderInsideOut = insideOut;
|
@@ -17904,7 +18286,7 @@ exports.interrupt = interrupt;
|
|
17904
18286
|
exports.voronoi = voronoi;
|
17905
18287
|
exports.zoom = zoom;
|
17906
18288
|
exports.zoomTransform = transform$1;
|
17907
|
-
exports.zoomIdentity = identity$
|
18289
|
+
exports.zoomIdentity = identity$9;
|
17908
18290
|
|
17909
18291
|
Object.defineProperty(exports, '__esModule', { value: true });
|
17910
18292
|
|