Socket
Socket
Sign inDemoInstall

d3-scale

Package Overview
Dependencies
6
Maintainers
1
Versions
60
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.3.0 to 0.4.0

img/band.png

2

build/bundle.js

@@ -1,1 +0,1 @@

var version = "0.3.0"; export * from "../index"; export {version};
var version = "0.4.0"; export * from "../index"; export {version};

@@ -12,63 +12,142 @@ (function (global, factory) {

function number(x) {
return +x;
};
var implicit = {};
function tickFormat(domain, count, specifier) {
var start = domain[0],
stop = domain[domain.length - 1],
step = d3Array.tickStep(start, stop, count == null ? 10 : count);
if (specifier == null) {
specifier = ",." + d3Format.precisionFixed(step) + "f";
} else {
switch (specifier = d3Format.formatSpecifier(specifier), specifier.type) {
case "s": {
var value = Math.max(Math.abs(start), Math.abs(stop));
if (specifier.precision == null) specifier.precision = d3Format.precisionPrefix(step, value);
return d3Format.formatPrefix(specifier, value);
}
case "":
case "e":
case "g":
case "p":
case "r": {
if (specifier.precision == null) specifier.precision = d3Format.precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))) - (specifier.type === "e");
break;
}
case "f":
case "%": {
if (specifier.precision == null) specifier.precision = d3Format.precisionFixed(step) - (specifier.type === "%") * 2;
break;
}
function ordinal() {
var index = d3Array.map(),
domain = [],
range = [],
unknown = implicit;
function scale(d) {
var key = d + "", i = index.get(key);
if (!i) {
if (unknown !== implicit) return unknown;
index.set(key, i = domain.push(d));
}
return range[(i - 1) % range.length];
}
return d3Format.format(specifier);
scale.domain = function(_) {
if (!arguments.length) return domain.slice();
domain = [], index = d3Array.map();
var i = -1, n = _.length, d, key;
while (++i < n) if (!index.has(key = (d = _[i]) + "")) index.set(key, domain.push(d));
return scale;
};
scale.range = function(_) {
return arguments.length ? (range = slice.call(_), scale) : range.slice();
};
scale.unknown = function(_) {
return arguments.length ? (unknown = _, scale) : unknown;
};
scale.copy = function() {
return ordinal()
.domain(domain)
.range(range)
.unknown(unknown);
};
return scale;
};
function identity() {
var domain = [0, 1];
function band() {
var scale = ordinal().unknown(undefined),
domain = scale.domain,
ordinalRange = scale.range,
range = [0, 1],
step,
bandwidth,
round = false,
paddingInner = 0,
paddingOuter = 0,
align = 0.5;
function scale(x) {
return +x;
delete scale.unknown;
function rescale() {
var n = domain().length,
reverse = range[1] < range[0],
start = range[reverse - 0],
stop = range[1 - reverse];
step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);
if (round) step = Math.floor(step);
start += (stop - start - step * (n - paddingInner)) * align;
bandwidth = step * (1 - paddingInner);
if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);
var values = d3Array.range(n).map(function(i) { return start + step * i; });
return ordinalRange(reverse ? values.reverse() : values);
}
scale.invert = scale;
scale.domain = function(_) {
return arguments.length ? (domain(_), rescale()) : domain();
};
scale.domain = scale.range = function(_) {
return arguments.length ? (domain = map.call(_, number), scale) : domain.slice();
scale.range = function(_) {
return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice();
};
scale.ticks = function(count) {
return d3Array.ticks(domain[0], domain[domain.length - 1], count == null ? 10 : count);
scale.rangeRound = function(_) {
return range = [+_[0], +_[1]], round = true, rescale();
};
scale.tickFormat = function(count, specifier) {
return tickFormat(domain, count, specifier);
scale.bandwidth = function() {
return bandwidth;
};
scale.step = function() {
return step;
};
scale.round = function(_) {
return arguments.length ? (round = !!_, rescale()) : round;
};
scale.padding = function(_) {
return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;
};
scale.paddingInner = function(_) {
return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;
};
scale.paddingOuter = function(_) {
return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter;
};
scale.align = function(_) {
return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;
};
scale.copy = function() {
return identity().domain(domain);
return band()
.domain(domain())
.range(range)
.round(round)
.paddingInner(paddingInner)
.paddingOuter(paddingOuter)
.align(align);
};
return rescale();
};
function pointish(scale) {
var copy = scale.copy;
scale.padding = scale.paddingOuter;
delete scale.paddingInner;
delete scale.paddingOuter;
scale.copy = function() {
return pointish(copy());
};
return scale;
}
function point() {
return pointish(band().paddingInner(1));
};

@@ -82,2 +161,6 @@

function number(x) {
return +x;
};
var unit = [0, 1];

@@ -145,3 +228,3 @@

// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].
function quantitative(deinterpolate, reinterpolate) {
function continuous(deinterpolate, reinterpolate) {
var domain = unit,

@@ -186,3 +269,3 @@ range = unit,

scale.interpolate = function(_) {
return arguments.length ? (interpolate = _, rescale()) : interpolate;
return arguments.length ? (interpolate = d3Interpolate.bind.apply(null, arguments), rescale()) : interpolate;
};

@@ -193,2 +276,33 @@

function tickFormat(domain, count, specifier) {
var start = domain[0],
stop = domain[domain.length - 1],
step = d3Array.tickStep(start, stop, count == null ? 10 : count);
if (specifier == null) {
specifier = ",." + d3Format.precisionFixed(step) + "f";
} else {
switch (specifier = d3Format.formatSpecifier(specifier), specifier.type) {
case "s": {
var value = Math.max(Math.abs(start), Math.abs(stop));
if (specifier.precision == null) specifier.precision = d3Format.precisionPrefix(step, value);
return d3Format.formatPrefix(specifier, value);
}
case "":
case "e":
case "g":
case "p":
case "r": {
if (specifier.precision == null) specifier.precision = d3Format.precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))) - (specifier.type === "e");
break;
}
case "f":
case "%": {
if (specifier.precision == null) specifier.precision = d3Format.precisionFixed(step) - (specifier.type === "%") * 2;
break;
}
}
}
return d3Format.format(specifier);
};
function linearish(scale) {

@@ -228,3 +342,3 @@ var domain = scale.domain;

function linear() {
var scale = quantitative(deinterpolateLinear, d3Interpolate.number);
var scale = continuous(deinterpolateLinear, d3Interpolate.number);

@@ -238,2 +352,22 @@ scale.copy = function() {

function identity() {
var domain = [0, 1];
function scale(x) {
return +x;
}
scale.invert = scale;
scale.domain = scale.range = function(_) {
return arguments.length ? (domain = map.call(_, number), scale) : domain.slice();
};
scale.copy = function() {
return identity().domain(domain);
};
return linearish(scale);
};
function nice(domain, interval) {

@@ -296,3 +430,3 @@ domain = domain.slice();

function log() {
var scale = quantitative(deinterpolate, reinterpolate).domain([1, 10]),
var scale = continuous(deinterpolate, reinterpolate).domain([1, 10]),
domain = scale.domain,

@@ -384,110 +518,2 @@ base = 10,

function steps(length, start, step) {
var steps = new Array(length), i = -1;
while (++i < length) steps[i] = start + step * i;
return steps;
}
function newOrdinal(domain, ranger) {
var index,
range,
rangeBand;
function scale(x) {
var k = x + "", i = index.get(k);
if (!i) {
if (ranger.t !== "range") return;
index.set(k, i = domain.push(x));
}
return range[(i - 1) % range.length];
}
scale.domain = function(x) {
if (!arguments.length) return domain.slice();
domain = [];
index = d3Array.map();
var i = -1, n = x.length, xi, xk;
while (++i < n) if (!index.has(xk = (xi = x[i]) + "")) index.set(xk, domain.push(xi));
return scale[ranger.t].apply(scale, ranger.a);
};
scale.range = function(x) {
if (!arguments.length) return range.slice();
range = x.slice();
rangeBand = 0;
ranger = {t: "range", a: arguments};
return scale;
};
scale.rangePoints = function(x, padding) {
padding = arguments.length < 2 ? 0 : +padding;
var start = +x[0],
stop = +x[1],
step = domain.length < 2 ? (start = (start + stop) / 2, 0) : (stop - start) / (domain.length - 1 + padding);
range = steps(domain.length, start + step * padding / 2, step);
rangeBand = 0;
ranger = {t: "rangePoints", a: arguments};
return scale;
};
scale.rangeRoundPoints = function(x, padding) {
padding = arguments.length < 2 ? 0 : +padding;
var start = +x[0],
stop = +x[1],
step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), 0) : (stop - start) / (domain.length - 1 + padding) | 0; // bitwise floor for symmetry
range = steps(domain.length, start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step);
rangeBand = 0;
ranger = {t: "rangeRoundPoints", a: arguments};
return scale;
};
scale.rangeBands = function(x, padding, outerPadding) {
padding = arguments.length < 2 ? 0 : +padding;
outerPadding = arguments.length < 3 ? padding : +outerPadding;
var reverse = +x[1] < +x[0],
start = +x[reverse - 0],
stop = +x[1 - reverse],
step = (stop - start) / (domain.length - padding + 2 * outerPadding);
range = steps(domain.length, start + step * outerPadding, step);
if (reverse) range.reverse();
rangeBand = step * (1 - padding);
ranger = {t: "rangeBands", a: arguments};
return scale;
};
scale.rangeRoundBands = function(x, padding, outerPadding) {
padding = arguments.length < 2 ? 0 : +padding;
outerPadding = arguments.length < 3 ? padding : +outerPadding;
var reverse = +x[1] < +x[0],
start = +x[reverse - 0],
stop = +x[1 - reverse],
step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding));
range = steps(domain.length, start + Math.round((stop - start - (domain.length - padding) * step) / 2), step);
if (reverse) range.reverse();
rangeBand = Math.round(step * (1 - padding));
ranger = {t: "rangeRoundBands", a: arguments};
return scale;
};
scale.rangeBand = function() {
return rangeBand;
};
scale.rangeExtent = function() {
var t = ranger.a[0], start = t[0], stop = t[t.length - 1];
if (stop < start) t = stop, stop = start, start = t;
return [start, stop];
};
scale.copy = function() {
return newOrdinal(domain, ranger);
};
return scale.domain(domain);
}
function ordinal() {
return newOrdinal([], {t: "range", a: [[]]});
};
function raise(x, exponent) {

@@ -499,3 +525,3 @@ return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);

var exponent = 1,
scale = quantitative(deinterpolate, reinterpolate),
scale = continuous(deinterpolate, reinterpolate),
domain = scale.domain;

@@ -529,10 +555,11 @@

function newQuantile(domain, range) {
var thresholds;
function quantile() {
var domain = [],
range = [],
thresholds = [];
function rescale() {
var k = 0,
q = range.length;
thresholds = [];
while (++k < q) thresholds[k - 1] = d3Array.quantile(domain, k / q);
var i = 0, n = Math.max(1, range.length);
thresholds = new Array(n - 1);
while (++i < n) thresholds[i - 1] = d3Array.quantile(domain, i / n);
return scale;

@@ -545,6 +572,14 @@ }

scale.domain = function(x) {
if (!arguments.length) return domain;
scale.invertExtent = function(y) {
var i = range.indexOf(y);
return i < 0 ? [NaN, NaN] : [
i > 0 ? thresholds[i - 1] : domain[0],
i < thresholds.length ? thresholds[i] : domain[domain.length - 1]
];
};
scale.domain = function(_) {
if (!arguments.length) return domain.slice();
domain = [];
for (var i = 0, n = x.length, v; i < n; ++i) if (v = x[i], v != null && !isNaN(v = +v)) domain.push(v);
for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);
domain.sort(d3Array.ascending);

@@ -554,29 +589,17 @@ return rescale();

scale.range = function(x) {
if (!arguments.length) return range.slice();
range = x.slice();
return rescale();
scale.range = function(_) {
return arguments.length ? (range = slice.call(_), rescale()) : range.slice();
};
scale.quantiles = function() {
return thresholds;
return thresholds.slice();
};
scale.invertExtent = function(y) {
y = range.indexOf(y);
return y < 0 ? [NaN, NaN] : [
y > 0 ? thresholds[y - 1] : domain[0],
y < thresholds.length ? thresholds[y] : domain[domain.length - 1]
];
};
scale.copy = function() {
return newQuantile(domain, range); // copy on write!
return quantile()
.domain(domain)
.range(range);
};
return rescale();
}
function quantile() {
return newQuantile([], []);
return scale;
};

@@ -603,3 +626,3 @@

scale.domain = function(_) {
return arguments.length ? (x0 = +_[0], x1 = +_[_.length - 1], rescale()) : [x0, x1];
return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1];
};

@@ -620,6 +643,8 @@

scale.copy = function() {
return quantize().domain([x0, x1]).range(range);
return quantize()
.domain([x0, x1])
.range(range);
};
return scale;
return linearish(scale);
};

@@ -671,3 +696,3 @@

function calendar(year, month, week, day, hour, minute, second, millisecond, format) {
var scale = quantitative(deinterpolateLinear, d3Interpolate.number),
var scale = continuous(deinterpolateLinear, d3Interpolate.number),
invert = scale.invert,

@@ -760,9 +785,8 @@ domain = scale.domain;

t1 = d[d.length - 1],
r = t1 < t0,
t;
if (t1 < t0) t = t0, t0 = t1, t1 = t;
return (interval = tickInterval(interval, t0, t1, step))
? interval.range(t0, t1 + 1) // inclusive stop
: [];
if (r) t = t0, t0 = t1, t1 = t;
t = tickInterval(interval, t0, t1, step);
t = t ? t.range(t0, t1 + 1) : []; // inclusive stop
return r ? t.reverse() : t;
};

@@ -817,28 +841,85 @@

function sequential$1(interpolate) {
var x0 = 0,
x1 = 1,
clamp = false;
function scale(x) {
var t = (x - x0) / (x1 - x0);
return interpolate(clamp ? Math.max(0, Math.min(1, t)) : t);
}
scale.domain = function(_) {
return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1];
};
scale.clamp = function(_) {
return arguments.length ? (clamp = !!_, scale) : clamp;
};
scale.copy = function() {
return sequential(interpolate).domain(domain).clamp(clamp);
};
return linearish(scale);
};
var a = d3Color.cubehelix(-100, 0.75, 0.35);
var b = d3Color.cubehelix(80, 1.50, 0.8);
var c = d3Color.cubehelix(260, 0.75, 0.35);
var d = d3Color.cubehelix();
var interpolateWarm = d3Interpolate.cubehelixLong(a, b);
var interpolateCool = d3Interpolate.cubehelixLong(c, b);
function interpolateRainbow(t) {
if (t < 0 || t > 1) t -= Math.floor(t);
var ts = Math.abs(t - 0.5);
d.h = 360 * t - 100;
d.s = 1.5 - 1.5 * ts;
d.l = 0.8 - 0.9 * ts;
return d + "";
}
function warm() {
return sequential$1(interpolateWarm);
};
function cool() {
return sequential$1(interpolateCool);
};
function rainbow() {
return linear()
.interpolate(d3Interpolate.cubehelixLong)
.domain([0, 0.5, 1.0])
.range([d3Color.cubehelix(-100, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8), d3Color.cubehelix(260, 0.75, 0.35)]);
return sequential$1(interpolateRainbow);
};
var rangeViridis = colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725");
var rangeMagma = colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf");
var rangeInferno = colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4");
var rangePlasma = colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921");
function ramp(range) {
var s = sequential$1(function(t) { return range[Math.round(t * range.length - t)]; }).clamp(true);
delete s.clamp;
return s;
}
function viridis() {
return quantize().range(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));
return ramp(rangeViridis);
};
function magma() {
return quantize().range(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));
return ramp(rangeMagma);
};
function inferno() {
return quantize().range(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));
return ramp(rangeInferno);
};
function plasma() {
return quantize().range(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));
return ramp(rangePlasma);
};
var version = "0.3.0";
var version = "0.4.0";
exports.version = version;
exports.band = band;
exports.point = point;
exports.identity = identity;

@@ -848,2 +929,3 @@ exports.linear = linear;

exports.ordinal = ordinal;
exports.implicit = implicit;
exports.pow = pow;

@@ -862,2 +944,4 @@ exports.sqrt = sqrt;

exports.rainbow = rainbow;
exports.warm = warm;
exports.cool = cool;
exports.viridis = viridis;

@@ -864,0 +948,0 @@ exports.magma = magma;

@@ -1,1 +0,1 @@

!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("d3-array"),require("d3-interpolate"),require("d3-format"),require("d3-time"),require("d3-time-format"),require("d3-color")):"function"==typeof define&&define.amd?define("d3-scale",["exports","d3-array","d3-interpolate","d3-format","d3-time","d3-time-format","d3-color"],n):n(e.d3_scale={},e.d3_array,e.d3_interpolate,e.d3_format,e.d3_time,e.d3_time_format,e.d3_color)}(this,function(e,n,f,a,c,t,r){"use strict";function d(e){return+e}function u(e,f,c){var t=e[0],r=e[e.length-1],d=n.tickStep(t,r,null==f?10:f);if(null==c)c=",."+a.precisionFixed(d)+"f";else switch(c=a.formatSpecifier(c),c.type){case"s":var u=Math.max(Math.abs(t),Math.abs(r));return null==c.precision&&(c.precision=a.precisionPrefix(d,u)),a.formatPrefix(c,u);case"":case"e":case"g":case"p":case"r":null==c.precision&&(c.precision=a.precisionRound(d,Math.max(Math.abs(t),Math.abs(r)))-("e"===c.type));break;case"f":case"%":null==c.precision&&(c.precision=a.precisionFixed(d)-2*("%"===c.type))}return a.format(c)}function b(){function e(e){return+e}var f=[0,1];return e.invert=e,e.domain=e.range=function(n){return arguments.length?(f=ee.call(n,d),e):f.slice()},e.ticks=function(e){return n.ticks(f[0],f[f.length-1],null==e?10:e)},e.tickFormat=function(e,n){return u(f,e,n)},e.copy=function(){return b().domain(f)},e}function i(e){return function(){return e}}function o(e,n){return(n-=e=+e)?function(f){return(f-e)/n}:i(n)}function l(e){return function(n,f){var a=e(n=+n,f=+f);return function(e){return n>=e?0:e>=f?1:a(e)}}}function g(e){return function(n,f){var a=e(n=+n,f=+f);return function(e){return 0>=e?n:e>=1?f:a(e)}}}function h(e,n,f,a){var c=e[0],t=e[1],r=n[0],d=n[1];return c>t?(c=f(t,c),r=a(d,r)):(c=f(c,t),r=a(r,d)),function(e){return r(c(e))}}function s(e,f,a,c){var t=Math.min(e.length,f.length)-1,r=new Array(t),d=new Array(t),u=-1;for(e[t]<e[0]&&(e=e.slice().reverse(),f=f.slice().reverse());++u<t;)r[u]=a(e[u],e[u+1]),d[u]=c(f[u],f[u+1]);return function(f){var a=n.bisect(e,f,1,t)-1;return d[a](r[a](f))}}function m(e,n){return n.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp())}function p(e,n){function a(){var f=Math.min(u.length,b.length)>2?s:h;return t=f(u,b,m?l(e):e,i),r=f(b,u,o,m?g(n):n),c}function c(e){return t(+e)}var t,r,u=fe,b=fe,i=f.value,m=!1;return c.invert=function(e){return r(+e)},c.domain=function(e){return arguments.length?(u=ee.call(e,d),a()):u.slice()},c.range=function(e){return arguments.length?(b=ne.call(e),a()):b.slice()},c.rangeRound=function(e){return b=ne.call(e),i=f.round,a()},c.clamp=function(e){return arguments.length?(m=!!e,a()):m},c.interpolate=function(e){return arguments.length?(i=e,a()):i},a()}function v(e){var f=e.domain;return e.ticks=function(e){var a=f();return n.ticks(a[0],a[a.length-1],null==e?10:e)},e.tickFormat=function(e,n){return u(f(),e,n)},e.nice=function(a){var c=f(),t=c.length-1,r=null==a?10:a,d=c[0],u=c[t],b=n.tickStep(d,u,r);return b&&(b=n.tickStep(Math.floor(d/b)*b,Math.ceil(u/b)*b,r),c[0]=Math.floor(d/b)*b,c[t]=Math.ceil(u/b)*b,f(c)),e},e}function M(){var e=p(o,f.number);return e.copy=function(){return m(e,M())},v(e)}function y(e,n){e=e.slice();var f,a=0,c=e.length-1,t=e[a],r=e[c];return t>r&&(f=a,a=c,c=f,f=t,t=r,r=f),e[a]=n.floor(t),e[c]=n.ceil(r),e}function x(e,n){return(n=Math.log(n/e))?function(f){return Math.log(f/e)/n}:i(n)}function k(e,n){return 0>e?function(f){return-Math.pow(-n,f)*Math.pow(-e,1-f)}:function(f){return Math.pow(n,f)*Math.pow(e,1-f)}}function w(e){return isFinite(e)?+("1e"+e):0>e?0:e}function N(e){return 10===e?w:e===Math.E?Math.exp:function(n){return Math.pow(e,n)}}function q(e){return e===Math.E?Math.log:10===e&&Math.log10||2===e&&Math.log2||(e=Math.log(e),function(n){return Math.log(n)/e})}function F(e){return function(n){return-e(-n)}}function S(){function e(){return r=q(t),d=N(t),c()[0]<0&&(r=F(r),d=F(d)),f}var f=p(x,k).domain([1,10]),c=f.domain,t=10,r=q(10),d=N(10);return f.base=function(n){return arguments.length?(t=+n,e()):t},f.domain=function(n){return arguments.length?(c(n),e()):c()},f.nice=function(){return c(y(c(),{floor:function(e){return d(Math.floor(r(e)))},ceil:function(e){return d(Math.ceil(r(e)))}}))},f.ticks=function(e){var f,a=c(),u=a[0],b=a[a.length-1];(f=u>b)&&(g=u,u=b,b=g);var i,o,l,g=r(u),h=r(b),s=null==e?10:+e,m=[];if(!(t%1)&&s>h-g){if(g=Math.round(g)-1,h=Math.round(h)+1,u>0){for(;h>g;++g)for(o=1,i=d(g);t>o;++o)if(l=i*o,!(u>l)){if(l>b)break;m.push(l)}}else for(;h>g;++g)for(o=t-1,i=d(g);o>=1;--o)if(l=i*o,!(u>l)){if(l>b)break;m.push(l)}f&&m.reverse()}else m=n.ticks(g,h,Math.min(h-g,s)).map(d);return m},f.tickFormat=function(e,n){if(null==n?n=10===t?ae:ce:"function"!=typeof n&&(n=a.format(n)),null==e)return n;var c=Math.max(1,t*e/f.ticks().length);return function(e){var f=e/d(Math.round(r(e)));return t-.5>f*t&&(f*=t),c>=f?n(e):""}},f.copy=function(){return m(f,S().base(t))},f}function _(e,n,f){for(var a=new Array(e),c=-1;++c<e;)a[c]=n+f*c;return a}function D(e,f){function a(n){var a=n+"",r=c.get(a);if(!r){if("range"!==f.t)return;c.set(a,r=e.push(n))}return t[(r-1)%t.length]}var c,t,r;return a.domain=function(t){if(!arguments.length)return e.slice();e=[],c=n.map();for(var r,d,u=-1,b=t.length;++u<b;)c.has(d=(r=t[u])+"")||c.set(d,e.push(r));return a[f.t].apply(a,f.a)},a.range=function(e){return arguments.length?(t=e.slice(),r=0,f={t:"range",a:arguments},a):t.slice()},a.rangePoints=function(n,c){c=arguments.length<2?0:+c;var d=+n[0],u=+n[1],b=e.length<2?(d=(d+u)/2,0):(u-d)/(e.length-1+c);return t=_(e.length,d+b*c/2,b),r=0,f={t:"rangePoints",a:arguments},a},a.rangeRoundPoints=function(n,c){c=arguments.length<2?0:+c;var d=+n[0],u=+n[1],b=e.length<2?(d=u=Math.round((d+u)/2),0):(u-d)/(e.length-1+c)|0;return t=_(e.length,d+Math.round(b*c/2+(u-d-(e.length-1+c)*b)/2),b),r=0,f={t:"rangeRoundPoints",a:arguments},a},a.rangeBands=function(n,c,d){c=arguments.length<2?0:+c,d=arguments.length<3?c:+d;var u=+n[1]<+n[0],b=+n[u-0],i=+n[1-u],o=(i-b)/(e.length-c+2*d);return t=_(e.length,b+o*d,o),u&&t.reverse(),r=o*(1-c),f={t:"rangeBands",a:arguments},a},a.rangeRoundBands=function(n,c,d){c=arguments.length<2?0:+c,d=arguments.length<3?c:+d;var u=+n[1]<+n[0],b=+n[u-0],i=+n[1-u],o=Math.floor((i-b)/(e.length-c+2*d));return t=_(e.length,b+Math.round((i-b-(e.length-c)*o)/2),o),u&&t.reverse(),r=Math.round(o*(1-c)),f={t:"rangeRoundBands",a:arguments},a},a.rangeBand=function(){return r},a.rangeExtent=function(){var e=f.a[0],n=e[0],a=e[e.length-1];return n>a&&(e=a,a=n,n=e),[n,a]},a.copy=function(){return D(e,f)},a.domain(e)}function B(){return D([],{t:"range",a:[[]]})}function E(e,n){return 0>e?-Math.pow(-e,n):Math.pow(e,n)}function P(){function e(e,n){return(n=E(n,f)-(e=E(e,f)))?function(a){return(E(a,f)-e)/n}:i(n)}function n(e,n){return n=E(n,f)-(e=E(e,f)),function(a){return E(e+n*a,1/f)}}var f=1,a=p(e,n),c=a.domain;return a.exponent=function(e){return arguments.length?(f=+e,c(c())):f},a.copy=function(){return m(a,P().exponent(f))},v(a)}function R(){return P().exponent(.5)}function A(e,f){function a(){var a=0,r=f.length;for(t=[];++a<r;)t[a-1]=n.quantile(e,a/r);return c}function c(e){return isNaN(e=+e)?void 0:f[n.bisect(t,e)]}var t;return c.domain=function(f){if(!arguments.length)return e;e=[];for(var c,t=0,r=f.length;r>t;++t)c=f[t],null==c||isNaN(c=+c)||e.push(c);return e.sort(n.ascending),a()},c.range=function(e){return arguments.length?(f=e.slice(),a()):f.slice()},c.quantiles=function(){return t},c.invertExtent=function(n){return n=f.indexOf(n),0>n?[NaN,NaN]:[n>0?t[n-1]:e[0],n<t.length?t[n]:e[e.length-1]]},c.copy=function(){return A(e,f)},a()}function L(){return A([],[])}function O(){function e(e){return e>=e?d[n.bisect(r,e,0,t)]:void 0}function f(){var n=-1;for(r=new Array(t);++n<t;)r[n]=((n+1)*c-(n-t)*a)/(t+1);return e}var a=0,c=1,t=1,r=[.5],d=[0,1];return e.domain=function(e){return arguments.length?(a=+e[0],c=+e[e.length-1],f()):[a,c]},e.range=function(e){return arguments.length?(t=(d=ne.call(e)).length-1,f()):d.slice()},e.invertExtent=function(e){var n=d.indexOf(e);return 0>n?[NaN,NaN]:1>n?[a,r[0]]:n>=t?[r[t-1],c]:[r[n-1],r[n]]},e.copy=function(){return O().domain([a,c]).range(d)},e}function T(){function e(e){return e>=e?a[n.bisect(f,e,0,c)]:void 0}var f=[.5],a=[0,1],c=1;return e.domain=function(n){return arguments.length?(f=ne.call(n),c=Math.min(f.length,a.length-1),e):f.slice()},e.range=function(n){return arguments.length?(a=ne.call(n),c=Math.min(f.length,a.length-1),e):a.slice()},e.invertExtent=function(e){var n=a.indexOf(e);return[f[n-1],f[n]]},e.copy=function(){return T().domain(f).range(a)},e}function C(e){return new Date(e)}function I(e,a,c,t,r,d,u,b,i){function l(n){return(u(n)<n?M:d(n)<n?x:r(n)<n?k:t(n)<n?w:a(n)<n?c(n)<n?N:q:e(n)<n?F:S)(n)}function g(f,a,c,t){if(null==f&&(f=10),"number"==typeof f){var r=Math.abs(c-a)/f,d=le(_,r);d===_.length?(t=n.tickStep(a/oe,c/oe,f),f=e):d?(d=_[r/_[d-1][2]<_[d][2]/r?d-1:d],t=d[1],f=d[0]):(t=n.tickStep(a,c,f),f=b)}return null==t?f:f.every(t)}var h=p(o,f.number),s=h.invert,v=h.domain,M=i(".%L"),x=i(":%S"),k=i("%I:%M"),w=i("%I %p"),N=i("%a %d"),q=i("%b %d"),F=i("%B"),S=i("%Y"),_=[[u,1,te],[u,5,5*te],[u,15,15*te],[u,30,30*te],[d,1,re],[d,5,5*re],[d,15,15*re],[d,30,30*re],[r,1,de],[r,3,3*de],[r,6,6*de],[r,12,12*de],[t,1,ue],[t,2,2*ue],[c,1,be],[a,1,ie],[a,3,3*ie],[e,1,oe]];return h.invert=function(e){return new Date(s(e))},h.domain=function(e){return arguments.length?v(e):v().map(C)},h.nice=function(e,n){var f=v();return(e=g(e,f[0],f[f.length-1],n))?v(y(f,e)):h},h.ticks=function(e,n){var f,a=v(),c=a[0],t=a[a.length-1];return c>t&&(f=c,c=t,t=f),(e=g(e,c,t,n))?e.range(c,t+1):[]},h.tickFormat=function(e){return null==e?l:i(e)},h.copy=function(){return m(h,I(e,a,c,t,r,d,u,b,i))},h}function U(){return I(c.year,c.month,c.week,c.day,c.hour,c.minute,c.second,c.millisecond,t.format).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}function Y(){return I(c.utcYear,c.utcMonth,c.utcWeek,c.utcDay,c.utcHour,c.utcMinute,c.utcSecond,c.utcMillisecond,t.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}function j(e){return e.match(/.{6}/g).map(function(e){return"#"+e})}function z(){return B().range(j("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"))}function H(){return B().range(j("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"))}function W(){return B().range(j("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"))}function G(){return B().range(j("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"))}function J(){return M().interpolate(f.cubehelixLong).range([r.cubehelix(300,.5,0),r.cubehelix(-240,.5,1)])}function K(){return M().interpolate(f.cubehelixLong).domain([0,.5,1]).range([r.cubehelix(-100,.75,.35),r.cubehelix(80,1.5,.8),r.cubehelix(260,.75,.35)])}function Q(){return O().range(j("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"))}function V(){return O().range(j("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"))}function X(){return O().range(j("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"))}function Z(){return O().range(j("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"))}var $=Array.prototype,ee=$.map,ne=$.slice,fe=[0,1],ae=a.format(".0e"),ce=a.format(","),te=1e3,re=60*te,de=60*re,ue=24*de,be=7*ue,ie=30*ue,oe=365*ue,le=n.bisector(function(e){return e[2]}).right,ge="0.3.0";e.version=ge,e.identity=b,e.linear=M,e.log=S,e.ordinal=B,e.pow=P,e.sqrt=R,e.quantile=L,e.quantize=O,e.threshold=T,e.time=U,e.utcTime=Y,e.category10=z,e.category20b=H,e.category20c=W,e.category20=G,e.cubehelix=J,e.rainbow=K,e.viridis=Q,e.magma=V,e.inferno=X,e.plasma=Z});
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("d3-array"),require("d3-interpolate"),require("d3-format"),require("d3-time"),require("d3-time-format"),require("d3-color")):"function"==typeof define&&define.amd?define("d3-scale",["exports","d3-array","d3-interpolate","d3-format","d3-time","d3-time-format","d3-color"],n):n(e.d3_scale={},e.d3_array,e.d3_interpolate,e.d3_format,e.d3_time,e.d3_time_format,e.d3_color)}(this,function(e,n,f,a,c,t,r){"use strict";function d(){function e(e){var n=e+"",r=f.get(n);if(!r){if(t!==de)return t;f.set(n,r=a.push(e))}return c[(r-1)%c.length]}var f=n.map(),a=[],c=[],t=de;return e.domain=function(c){if(!arguments.length)return a.slice();a=[],f=n.map();for(var t,r,d=-1,u=c.length;++d<u;)f.has(r=(t=c[d])+"")||f.set(r,a.push(t));return e},e.range=function(n){return arguments.length?(c=re.call(n),e):c.slice()},e.unknown=function(n){return arguments.length?(t=n,e):t},e.copy=function(){return d().domain(a).range(c).unknown(t)},e}function u(){function e(){var e=t().length,c=i[1]<i[0],d=i[c-0],u=i[1-c];f=(u-d)/Math.max(1,e-o+2*l),b&&(f=Math.floor(f)),d+=(u-d-f*(e-o))*g,a=f*(1-o),b&&(d=Math.round(d),a=Math.round(a));var h=n.range(e).map(function(e){return d+f*e});return r(c?h.reverse():h)}var f,a,c=d().unknown(void 0),t=c.domain,r=c.range,i=[0,1],b=!1,o=0,l=0,g=.5;return delete c.unknown,c.domain=function(n){return arguments.length?(t(n),e()):t()},c.range=function(n){return arguments.length?(i=[+n[0],+n[1]],e()):i.slice()},c.rangeRound=function(n){return i=[+n[0],+n[1]],b=!0,e()},c.bandwidth=function(){return a},c.step=function(){return f},c.round=function(n){return arguments.length?(b=!!n,e()):b},c.padding=function(n){return arguments.length?(o=l=Math.max(0,Math.min(1,n)),e()):o},c.paddingInner=function(n){return arguments.length?(o=Math.max(0,Math.min(1,n)),e()):o},c.paddingOuter=function(n){return arguments.length?(l=Math.max(0,Math.min(1,n)),e()):l},c.align=function(n){return arguments.length?(g=Math.max(0,Math.min(1,n)),e()):g},c.copy=function(){return u().domain(t()).range(i).round(b).paddingInner(o).paddingOuter(l).align(g)},e()}function i(e){var n=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return i(n())},e}function b(){return i(u().paddingInner(1))}function o(e){return function(){return e}}function l(e){return+e}function g(e,n){return(n-=e=+e)?function(f){return(f-e)/n}:o(n)}function h(e){return function(n,f){var a=e(n=+n,f=+f);return function(e){return n>=e?0:e>=f?1:a(e)}}}function m(e){return function(n,f){var a=e(n=+n,f=+f);return function(e){return 0>=e?n:e>=1?f:a(e)}}}function s(e,n,f,a){var c=e[0],t=e[1],r=n[0],d=n[1];return c>t?(c=f(t,c),r=a(d,r)):(c=f(c,t),r=a(r,d)),function(e){return r(c(e))}}function p(e,f,a,c){var t=Math.min(e.length,f.length)-1,r=new Array(t),d=new Array(t),u=-1;for(e[t]<e[0]&&(e=e.slice().reverse(),f=f.slice().reverse());++u<t;)r[u]=a(e[u],e[u+1]),d[u]=c(f[u],f[u+1]);return function(f){var a=n.bisect(e,f,1,t)-1;return d[a](r[a](f))}}function v(e,n){return n.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp())}function M(e,n){function a(){var f=Math.min(d.length,u.length)>2?p:s;return t=f(d,u,b?h(e):e,i),r=f(u,d,g,b?m(n):n),c}function c(e){return t(+e)}var t,r,d=ue,u=ue,i=f.value,b=!1;return c.invert=function(e){return r(+e)},c.domain=function(e){return arguments.length?(d=te.call(e,l),a()):d.slice()},c.range=function(e){return arguments.length?(u=re.call(e),a()):u.slice()},c.rangeRound=function(e){return u=re.call(e),i=f.round,a()},c.clamp=function(e){return arguments.length?(b=!!e,a()):b},c.interpolate=function(e){return arguments.length?(i=f.bind.apply(null,arguments),a()):i},a()}function y(e,f,c){var t=e[0],r=e[e.length-1],d=n.tickStep(t,r,null==f?10:f);if(null==c)c=",."+a.precisionFixed(d)+"f";else switch(c=a.formatSpecifier(c),c.type){case"s":var u=Math.max(Math.abs(t),Math.abs(r));return null==c.precision&&(c.precision=a.precisionPrefix(d,u)),a.formatPrefix(c,u);case"":case"e":case"g":case"p":case"r":null==c.precision&&(c.precision=a.precisionRound(d,Math.max(Math.abs(t),Math.abs(r)))-("e"===c.type));break;case"f":case"%":null==c.precision&&(c.precision=a.precisionFixed(d)-2*("%"===c.type))}return a.format(c)}function x(e){var f=e.domain;return e.ticks=function(e){var a=f();return n.ticks(a[0],a[a.length-1],null==e?10:e)},e.tickFormat=function(e,n){return y(f(),e,n)},e.nice=function(a){var c=f(),t=c.length-1,r=null==a?10:a,d=c[0],u=c[t],i=n.tickStep(d,u,r);return i&&(i=n.tickStep(Math.floor(d/i)*i,Math.ceil(u/i)*i,r),c[0]=Math.floor(d/i)*i,c[t]=Math.ceil(u/i)*i,f(c)),e},e}function w(){var e=M(g,f.number);return e.copy=function(){return v(e,w())},x(e)}function k(){function e(e){return+e}var n=[0,1];return e.invert=e,e.domain=e.range=function(f){return arguments.length?(n=te.call(f,l),e):n.slice()},e.copy=function(){return k().domain(n)},x(e)}function q(e,n){e=e.slice();var f,a=0,c=e.length-1,t=e[a],r=e[c];return t>r&&(f=a,a=c,c=f,f=t,t=r,r=f),e[a]=n.floor(t),e[c]=n.ceil(r),e}function N(e,n){return(n=Math.log(n/e))?function(f){return Math.log(f/e)/n}:o(n)}function S(e,n){return 0>e?function(f){return-Math.pow(-n,f)*Math.pow(-e,1-f)}:function(f){return Math.pow(n,f)*Math.pow(e,1-f)}}function _(e){return isFinite(e)?+("1e"+e):0>e?0:e}function D(e){return 10===e?_:e===Math.E?Math.exp:function(n){return Math.pow(e,n)}}function F(e){return e===Math.E?Math.log:10===e&&Math.log10||2===e&&Math.log2||(e=Math.log(e),function(n){return Math.log(n)/e})}function O(e){return function(n){return-e(-n)}}function I(){function e(){return r=F(t),d=D(t),c()[0]<0&&(r=O(r),d=O(d)),f}var f=M(N,S).domain([1,10]),c=f.domain,t=10,r=F(10),d=D(10);return f.base=function(n){return arguments.length?(t=+n,e()):t},f.domain=function(n){return arguments.length?(c(n),e()):c()},f.nice=function(){return c(q(c(),{floor:function(e){return d(Math.floor(r(e)))},ceil:function(e){return d(Math.ceil(r(e)))}}))},f.ticks=function(e){var f,a=c(),u=a[0],i=a[a.length-1];(f=u>i)&&(g=u,u=i,i=g);var b,o,l,g=r(u),h=r(i),m=null==e?10:+e,s=[];if(!(t%1)&&m>h-g){if(g=Math.round(g)-1,h=Math.round(h)+1,u>0){for(;h>g;++g)for(o=1,b=d(g);t>o;++o)if(l=b*o,!(u>l)){if(l>i)break;s.push(l)}}else for(;h>g;++g)for(o=t-1,b=d(g);o>=1;--o)if(l=b*o,!(u>l)){if(l>i)break;s.push(l)}f&&s.reverse()}else s=n.ticks(g,h,Math.min(h-g,m)).map(d);return s},f.tickFormat=function(e,n){if(null==n?n=10===t?ie:be:"function"!=typeof n&&(n=a.format(n)),null==e)return n;var c=Math.max(1,t*e/f.ticks().length);return function(e){var f=e/d(Math.round(r(e)));return t-.5>f*t&&(f*=t),c>=f?n(e):""}},f.copy=function(){return v(f,I().base(t))},f}function A(e,n){return 0>e?-Math.pow(-e,n):Math.pow(e,n)}function E(){function e(e,n){return(n=A(n,f)-(e=A(e,f)))?function(a){return(A(a,f)-e)/n}:o(n)}function n(e,n){return n=A(n,f)-(e=A(e,f)),function(a){return A(e+n*a,1/f)}}var f=1,a=M(e,n),c=a.domain;return a.exponent=function(e){return arguments.length?(f=+e,c(c())):f},a.copy=function(){return v(a,E().exponent(f))},x(a)}function L(){return E().exponent(.5)}function R(){function e(){var e=0,r=Math.max(1,c.length);for(t=new Array(r-1);++e<r;)t[e-1]=n.quantile(a,e/r);return f}function f(e){return isNaN(e=+e)?void 0:c[n.bisect(t,e)]}var a=[],c=[],t=[];return f.invertExtent=function(e){var n=c.indexOf(e);return 0>n?[NaN,NaN]:[n>0?t[n-1]:a[0],n<t.length?t[n]:a[a.length-1]]},f.domain=function(f){if(!arguments.length)return a.slice();a=[];for(var c,t=0,r=f.length;r>t;++t)c=f[t],null==c||isNaN(c=+c)||a.push(c);return a.sort(n.ascending),e()},f.range=function(n){return arguments.length?(c=re.call(n),e()):c.slice()},f.quantiles=function(){return t.slice()},f.copy=function(){return R().domain(a).range(c)},f}function T(){function e(e){return e>=e?d[n.bisect(r,e,0,t)]:void 0}function f(){var n=-1;for(r=new Array(t);++n<t;)r[n]=((n+1)*c-(n-t)*a)/(t+1);return e}var a=0,c=1,t=1,r=[.5],d=[0,1];return e.domain=function(e){return arguments.length?(a=+e[0],c=+e[1],f()):[a,c]},e.range=function(e){return arguments.length?(t=(d=re.call(e)).length-1,f()):d.slice()},e.invertExtent=function(e){var n=d.indexOf(e);return 0>n?[NaN,NaN]:1>n?[a,r[0]]:n>=t?[r[t-1],c]:[r[n-1],r[n]]},e.copy=function(){return T().domain([a,c]).range(d)},x(e)}function C(){function e(e){return e>=e?a[n.bisect(f,e,0,c)]:void 0}var f=[.5],a=[0,1],c=1;return e.domain=function(n){return arguments.length?(f=re.call(n),c=Math.min(f.length,a.length-1),e):f.slice()},e.range=function(n){return arguments.length?(a=re.call(n),c=Math.min(f.length,a.length-1),e):a.slice()},e.invertExtent=function(e){var n=a.indexOf(e);return[f[n-1],f[n]]},e.copy=function(){return C().domain(f).range(a)},e}function P(e){return new Date(e)}function U(e,a,c,t,r,d,u,i,b){function o(n){return(u(n)<n?p:d(n)<n?y:r(n)<n?x:t(n)<n?w:a(n)<n?c(n)<n?k:N:e(n)<n?S:_)(n)}function l(f,a,c,t){if(null==f&&(f=10),"number"==typeof f){var r=Math.abs(c-a)/f,d=ve(D,r);d===D.length?(t=n.tickStep(a/pe,c/pe,f),f=e):d?(d=D[r/D[d-1][2]<D[d][2]/r?d-1:d],t=d[1],f=d[0]):(t=n.tickStep(a,c,f),f=i)}return null==t?f:f.every(t)}var h=M(g,f.number),m=h.invert,s=h.domain,p=b(".%L"),y=b(":%S"),x=b("%I:%M"),w=b("%I %p"),k=b("%a %d"),N=b("%b %d"),S=b("%B"),_=b("%Y"),D=[[u,1,oe],[u,5,5*oe],[u,15,15*oe],[u,30,30*oe],[d,1,le],[d,5,5*le],[d,15,15*le],[d,30,30*le],[r,1,ge],[r,3,3*ge],[r,6,6*ge],[r,12,12*ge],[t,1,he],[t,2,2*he],[c,1,me],[a,1,se],[a,3,3*se],[e,1,pe]];return h.invert=function(e){return new Date(m(e))},h.domain=function(e){return arguments.length?s(e):s().map(P)},h.nice=function(e,n){var f=s();return(e=l(e,f[0],f[f.length-1],n))?s(q(f,e)):h},h.ticks=function(e,n){var f,a=s(),c=a[0],t=a[a.length-1],r=c>t;return r&&(f=c,c=t,t=f),f=l(e,c,t,n),f=f?f.range(c,t+1):[],r?f.reverse():f},h.tickFormat=function(e){return null==e?o:b(e)},h.copy=function(){return v(h,U(e,a,c,t,r,d,u,i,b))},h}function Y(){return U(c.year,c.month,c.week,c.day,c.hour,c.minute,c.second,c.millisecond,t.format).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}function j(){return U(c.utcYear,c.utcMonth,c.utcWeek,c.utcDay,c.utcHour,c.utcMinute,c.utcSecond,c.utcMillisecond,t.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}function z(e){return e.match(/.{6}/g).map(function(e){return"#"+e})}function B(){return d().range(z("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"))}function H(){return d().range(z("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"))}function W(){return d().range(z("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"))}function G(){return d().range(z("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"))}function J(){return w().interpolate(f.cubehelixLong).range([r.cubehelix(300,.5,0),r.cubehelix(-240,.5,1)])}function K(e){function n(n){var t=(n-f)/(a-f);return e(c?Math.max(0,Math.min(1,t)):t)}var f=0,a=1,c=!1;return n.domain=function(e){return arguments.length?(f=+e[0],a=+e[1],n):[f,a]},n.clamp=function(e){return arguments.length?(c=!!e,n):c},n.copy=function(){return sequential(e).domain(domain).clamp(c)},x(n)}function Q(e){(0>e||e>1)&&(e-=Math.floor(e));var n=Math.abs(e-.5);return we.h=360*e-100,we.s=1.5-1.5*n,we.l=.8-.9*n,we+""}function V(){return K(ke)}function X(){return K(qe)}function Z(){return K(Q)}function $(e){var n=K(function(n){return e[Math.round(n*e.length-n)]}).clamp(!0);return delete n.clamp,n}function ee(){return $(Ne)}function ne(){return $(Se)}function fe(){return $(_e)}function ae(){return $(De)}var ce=Array.prototype,te=ce.map,re=ce.slice,de={},ue=[0,1],ie=a.format(".0e"),be=a.format(","),oe=1e3,le=60*oe,ge=60*le,he=24*ge,me=7*he,se=30*he,pe=365*he,ve=n.bisector(function(e){return e[2]}).right,Me=r.cubehelix(-100,.75,.35),ye=r.cubehelix(80,1.5,.8),xe=r.cubehelix(260,.75,.35),we=r.cubehelix(),ke=f.cubehelixLong(Me,ye),qe=f.cubehelixLong(xe,ye),Ne=z("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"),Se=z("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"),_e=z("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"),De=z("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"),Fe="0.4.0";e.version=Fe,e.band=u,e.point=b,e.identity=k,e.linear=w,e.log=I,e.ordinal=d,e.implicit=de,e.pow=E,e.sqrt=L,e.quantile=R,e.quantize=T,e.threshold=C,e.time=Y,e.utcTime=j,e.category10=B,e.category20b=H,e.category20c=W,e.category20=G,e.cubehelix=J,e.rainbow=Z,e.warm=V,e.cool=X,e.viridis=ee,e.magma=ne,e.inferno=fe,e.plasma=ae});

@@ -0,5 +1,6 @@

export {default as band, point} from "./src/band";
export {default as identity} from "./src/identity";
export {default as linear} from "./src/linear";
export {default as log} from "./src/log";
export {default as ordinal} from "./src/ordinal";
export {default as ordinal, implicit} from "./src/ordinal";
export {default as pow, sqrt} from "./src/pow";

@@ -17,3 +18,3 @@ export {default as quantile} from "./src/quantile";

export {default as cubehelix} from "./src/cubehelix";
export {default as rainbow} from "./src/rainbow";
export {viridis, magma, inferno, plasma} from "./src/viridis";
export {default as rainbow, warm, cool} from "./src/rainbow";
export {default as viridis, magma, inferno, plasma} from "./src/viridis";
{
"name": "d3-scale",
"version": "0.3.0",
"version": "0.4.0",
"description": "Encodings that map abstract data to visual representation.",

@@ -28,8 +28,8 @@ "keywords": [

"dependencies": {
"d3-array": "~0.6.0",
"d3-color": "~0.3.1",
"d3-format": "~0.4.0",
"d3-interpolate": "~0.2.0",
"d3-time": "~0.1.0",
"d3-time-format": "~0.2.0"
"d3-array": "~0.6.1",
"d3-color": "~0.3.2",
"d3-format": "~0.4.1",
"d3-interpolate": "~0.3.0",
"d3-time": "~0.1.1",
"d3-time-format": "~0.2.1"
},

@@ -36,0 +36,0 @@ "devDependencies": {

@@ -1,5 +0,4 @@

import {ticks} from "d3-array";
import {map, slice} from "./array";
import {linearish} from "./linear";
import number from "./number";
import tickFormat from "./tickFormat";

@@ -19,10 +18,2 @@ export default function identity() {

scale.ticks = function(count) {
return ticks(domain[0], domain[domain.length - 1], count == null ? 10 : count);
};
scale.tickFormat = function(count, specifier) {
return tickFormat(domain, count, specifier);
};
scale.copy = function() {

@@ -32,3 +23,3 @@ return identity().domain(domain);

return scale;
return linearish(scale);
};
import {ticks, tickStep} from "d3-array";
import {number as reinterpolate} from "d3-interpolate";
import {default as quantitative, copy, deinterpolateLinear as deinterpolate} from "./quantitative";
import {default as continuous, copy, deinterpolateLinear as deinterpolate} from "./continuous";
import tickFormat from "./tickFormat";

@@ -40,3 +40,3 @@

export default function linear() {
var scale = quantitative(deinterpolate, reinterpolate);
var scale = continuous(deinterpolate, reinterpolate);

@@ -43,0 +43,0 @@ scale.copy = function() {

@@ -5,3 +5,3 @@ import {ticks} from "d3-array";

import nice from "./nice";
import {default as quantitative, copy} from "./quantitative";
import {default as continuous, copy} from "./continuous";

@@ -47,3 +47,3 @@ var tickFormat10 = format(".0e"),

export default function log() {
var scale = quantitative(deinterpolate, reinterpolate).domain([1, 10]),
var scale = continuous(deinterpolate, reinterpolate).domain([1, 10]),
domain = scale.domain,

@@ -50,0 +50,0 @@ base = 10,

import {map} from "d3-array";
import {slice} from "./array";
function steps(length, start, step) {
var steps = new Array(length), i = -1;
while (++i < length) steps[i] = start + step * i;
return steps;
}
export var implicit = {};
function newOrdinal(domain, ranger) {
var index,
range,
rangeBand;
export default function ordinal() {
var index = map(),
domain = [],
range = [],
unknown = implicit;
function scale(x) {
var k = x + "", i = index.get(k);
function scale(d) {
var key = d + "", i = index.get(key);
if (!i) {
if (ranger.t !== "range") return;
index.set(k, i = domain.push(x));
if (unknown !== implicit) return unknown;
index.set(key, i = domain.push(d));
}

@@ -23,88 +21,26 @@ return range[(i - 1) % range.length];

scale.domain = function(x) {
scale.domain = function(_) {
if (!arguments.length) return domain.slice();
domain = [];
index = map();
var i = -1, n = x.length, xi, xk;
while (++i < n) if (!index.has(xk = (xi = x[i]) + "")) index.set(xk, domain.push(xi));
return scale[ranger.t].apply(scale, ranger.a);
};
scale.range = function(x) {
if (!arguments.length) return range.slice();
range = x.slice();
rangeBand = 0;
ranger = {t: "range", a: arguments};
domain = [], index = map();
var i = -1, n = _.length, d, key;
while (++i < n) if (!index.has(key = (d = _[i]) + "")) index.set(key, domain.push(d));
return scale;
};
scale.rangePoints = function(x, padding) {
padding = arguments.length < 2 ? 0 : +padding;
var start = +x[0],
stop = +x[1],
step = domain.length < 2 ? (start = (start + stop) / 2, 0) : (stop - start) / (domain.length - 1 + padding);
range = steps(domain.length, start + step * padding / 2, step);
rangeBand = 0;
ranger = {t: "rangePoints", a: arguments};
return scale;
scale.range = function(_) {
return arguments.length ? (range = slice.call(_), scale) : range.slice();
};
scale.rangeRoundPoints = function(x, padding) {
padding = arguments.length < 2 ? 0 : +padding;
var start = +x[0],
stop = +x[1],
step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), 0) : (stop - start) / (domain.length - 1 + padding) | 0; // bitwise floor for symmetry
range = steps(domain.length, start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step);
rangeBand = 0;
ranger = {t: "rangeRoundPoints", a: arguments};
return scale;
scale.unknown = function(_) {
return arguments.length ? (unknown = _, scale) : unknown;
};
scale.rangeBands = function(x, padding, outerPadding) {
padding = arguments.length < 2 ? 0 : +padding;
outerPadding = arguments.length < 3 ? padding : +outerPadding;
var reverse = +x[1] < +x[0],
start = +x[reverse - 0],
stop = +x[1 - reverse],
step = (stop - start) / (domain.length - padding + 2 * outerPadding);
range = steps(domain.length, start + step * outerPadding, step);
if (reverse) range.reverse();
rangeBand = step * (1 - padding);
ranger = {t: "rangeBands", a: arguments};
return scale;
};
scale.rangeRoundBands = function(x, padding, outerPadding) {
padding = arguments.length < 2 ? 0 : +padding;
outerPadding = arguments.length < 3 ? padding : +outerPadding;
var reverse = +x[1] < +x[0],
start = +x[reverse - 0],
stop = +x[1 - reverse],
step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding));
range = steps(domain.length, start + Math.round((stop - start - (domain.length - padding) * step) / 2), step);
if (reverse) range.reverse();
rangeBand = Math.round(step * (1 - padding));
ranger = {t: "rangeRoundBands", a: arguments};
return scale;
};
scale.rangeBand = function() {
return rangeBand;
};
scale.rangeExtent = function() {
var t = ranger.a[0], start = t[0], stop = t[t.length - 1];
if (stop < start) t = stop, stop = start, start = t;
return [start, stop];
};
scale.copy = function() {
return newOrdinal(domain, ranger);
return ordinal()
.domain(domain)
.range(range)
.unknown(unknown);
};
return scale.domain(domain);
}
export default function() {
return newOrdinal([], {t: "range", a: [[]]});
return scale;
};
import constant from "./constant";
import {linearish} from "./linear";
import {default as quantitative, copy} from "./quantitative";
import {default as continuous, copy} from "./continuous";

@@ -11,3 +11,3 @@ function raise(x, exponent) {

var exponent = 1,
scale = quantitative(deinterpolate, reinterpolate),
scale = continuous(deinterpolate, reinterpolate),
domain = scale.domain;

@@ -14,0 +14,0 @@

@@ -1,11 +0,13 @@

import {ascending, bisect, quantile} from "d3-array";
import {ascending, bisect, quantile as threshold} from "d3-array";
import {slice} from "./array";
function newQuantile(domain, range) {
var thresholds;
export default function quantile() {
var domain = [],
range = [],
thresholds = [];
function rescale() {
var k = 0,
q = range.length;
thresholds = [];
while (++k < q) thresholds[k - 1] = quantile(domain, k / q);
var i = 0, n = Math.max(1, range.length);
thresholds = new Array(n - 1);
while (++i < n) thresholds[i - 1] = threshold(domain, i / n);
return scale;

@@ -18,6 +20,14 @@ }

scale.domain = function(x) {
if (!arguments.length) return domain;
scale.invertExtent = function(y) {
var i = range.indexOf(y);
return i < 0 ? [NaN, NaN] : [
i > 0 ? thresholds[i - 1] : domain[0],
i < thresholds.length ? thresholds[i] : domain[domain.length - 1]
];
};
scale.domain = function(_) {
if (!arguments.length) return domain.slice();
domain = [];
for (var i = 0, n = x.length, v; i < n; ++i) if (v = x[i], v != null && !isNaN(v = +v)) domain.push(v);
for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);
domain.sort(ascending);

@@ -27,29 +37,17 @@ return rescale();

scale.range = function(x) {
if (!arguments.length) return range.slice();
range = x.slice();
return rescale();
scale.range = function(_) {
return arguments.length ? (range = slice.call(_), rescale()) : range.slice();
};
scale.quantiles = function() {
return thresholds;
return thresholds.slice();
};
scale.invertExtent = function(y) {
y = range.indexOf(y);
return y < 0 ? [NaN, NaN] : [
y > 0 ? thresholds[y - 1] : domain[0],
y < thresholds.length ? thresholds[y] : domain[domain.length - 1]
];
};
scale.copy = function() {
return newQuantile(domain, range); // copy on write!
return quantile()
.domain(domain)
.range(range);
};
return rescale();
}
export default function() {
return newQuantile([], []);
return scale;
};
import {bisect} from "d3-array";
import {slice} from "./array";
import {linearish} from "./linear";

@@ -23,3 +24,3 @@ export default function quantize() {

scale.domain = function(_) {
return arguments.length ? (x0 = +_[0], x1 = +_[_.length - 1], rescale()) : [x0, x1];
return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1];
};

@@ -40,6 +41,8 @@

scale.copy = function() {
return quantize().domain([x0, x1]).range(range);
return quantize()
.domain([x0, x1])
.range(range);
};
return scale;
return linearish(scale);
};

@@ -1,10 +0,32 @@

import linear from "./linear";
import {cubehelix} from "d3-color";
import {cubehelixLong} from "d3-interpolate";
import sequential from "./sequential";
var a = cubehelix(-100, 0.75, 0.35),
b = cubehelix(80, 1.50, 0.8),
c = cubehelix(260, 0.75, 0.35),
d = cubehelix();
var interpolateWarm = cubehelixLong(a, b),
interpolateCool = cubehelixLong(c, b);
function interpolateRainbow(t) {
if (t < 0 || t > 1) t -= Math.floor(t);
var ts = Math.abs(t - 0.5);
d.h = 360 * t - 100;
d.s = 1.5 - 1.5 * ts;
d.l = 0.8 - 0.9 * ts;
return d + "";
}
export function warm() {
return sequential(interpolateWarm);
};
export function cool() {
return sequential(interpolateCool);
};
export default function() {
return linear()
.interpolate(cubehelixLong)
.domain([0, 0.5, 1.0])
.range([cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8), cubehelix(260, 0.75, 0.35)]);
return sequential(interpolateRainbow);
};

@@ -6,3 +6,3 @@ import {bisector, tickStep} from "d3-array";

import nice from "./nice";
import {default as quantitative, copy, deinterpolateLinear as deinterpolate} from "./quantitative";
import {default as continuous, copy, deinterpolateLinear as deinterpolate} from "./continuous";

@@ -23,3 +23,3 @@ var millisecondsPerSecond = 1000,

export function calendar(year, month, week, day, hour, minute, second, millisecond, format) {
var scale = quantitative(deinterpolate, reinterpolate),
var scale = continuous(deinterpolate, reinterpolate),
invert = scale.invert,

@@ -112,9 +112,8 @@ domain = scale.domain;

t1 = d[d.length - 1],
r = t1 < t0,
t;
if (t1 < t0) t = t0, t0 = t1, t1 = t;
return (interval = tickInterval(interval, t0, t1, step))
? interval.range(t0, t1 + 1) // inclusive stop
: [];
if (r) t = t0, t0 = t1, t1 = t;
t = tickInterval(interval, t0, t1, step);
t = t ? t.range(t0, t1 + 1) : []; // inclusive stop
return r ? t.reverse() : t;
};

@@ -121,0 +120,0 @@

import colors from "./colors";
import quantize from "./quantize";
import sequential from "./sequential";
export function viridis() {
return quantize().range(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));
var rangeViridis = colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"),
rangeMagma = colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"),
rangeInferno = colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"),
rangePlasma = colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921");
function ramp(range) {
var s = sequential(function(t) { return range[Math.round(t * range.length - t)]; }).clamp(true);
delete s.clamp;
return s;
}
export default function() {
return ramp(rangeViridis);
};
export function magma() {
return quantize().range(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));
return ramp(rangeMagma);
};
export function inferno() {
return quantize().range(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));
return ramp(rangeInferno);
};
export function plasma() {
return quantize().range(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));
return ramp(rangePlasma);
};

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc