Socket
Socket
Sign inDemoInstall

d3-scale

Package Overview
Dependencies
Maintainers
1
Versions
60
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

d3-scale - npm Package Compare versions

Comparing version 1.0.3 to 1.0.4

1431

build/d3-scale.js

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

// https://d3js.org/d3-scale/ Version 1.0.3. Copyright 2016 Mike Bostock.
// https://d3js.org/d3-scale/ Version 1.0.4. Copyright 2016 Mike Bostock.
(function (global, factory) {

@@ -6,898 +6,899 @@ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-array'), require('d3-collection'), require('d3-interpolate'), require('d3-format'), require('d3-time'), require('d3-time-format'), require('d3-color')) :

(factory((global.d3 = global.d3 || {}),global.d3,global.d3,global.d3,global.d3,global.d3,global.d3,global.d3));
}(this, function (exports,d3Array,d3Collection,d3Interpolate,d3Format,d3Time,d3TimeFormat,d3Color) { 'use strict';
}(this, (function (exports,d3Array,d3Collection,d3Interpolate,d3Format,d3Time,d3TimeFormat,d3Color) { 'use strict';
var array = Array.prototype;
var array = Array.prototype;
var map$1 = array.map;
var slice = array.slice;
var map$1 = array.map;
var slice = array.slice;
var implicit = {name: "implicit"};
var implicit = {name: "implicit"};
function ordinal(range) {
var index = d3Collection.map(),
domain = [],
unknown = implicit;
function ordinal(range$$1) {
var index = d3Collection.map(),
domain = [],
unknown = implicit;
range = range == null ? [] : slice.call(range);
range$$1 = range$$1 == null ? [] : slice.call(range$$1);
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];
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$$1[(i - 1) % range$$1.length];
}
scale.domain = function(_) {
if (!arguments.length) return domain.slice();
domain = [], index = d3Collection.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.domain = function(_) {
if (!arguments.length) return domain.slice();
domain = [], index = d3Collection.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.range = function(_) {
return arguments.length ? (range$$1 = slice.call(_), scale) : range$$1.slice();
};
scale.unknown = function(_) {
return arguments.length ? (unknown = _, scale) : unknown;
};
scale.unknown = function(_) {
return arguments.length ? (unknown = _, scale) : unknown;
};
scale.copy = function() {
return ordinal()
.domain(domain)
.range(range)
.unknown(unknown);
};
scale.copy = function() {
return ordinal()
.domain(domain)
.range(range$$1)
.unknown(unknown);
};
return scale;
return scale;
}
function band() {
var scale = ordinal().unknown(undefined),
domain = scale.domain,
ordinalRange = scale.range,
range$$1 = [0, 1],
step,
bandwidth,
round = false,
paddingInner = 0,
paddingOuter = 0,
align = 0.5;
delete scale.unknown;
function rescale() {
var n = domain().length,
reverse = range$$1[1] < range$$1[0],
start = range$$1[reverse - 0],
stop = range$$1[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);
}
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;
scale.domain = function(_) {
return arguments.length ? (domain(_), rescale()) : domain();
};
delete scale.unknown;
scale.range = function(_) {
return arguments.length ? (range$$1 = [+_[0], +_[1]], rescale()) : range$$1.slice();
};
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.rangeRound = function(_) {
return range$$1 = [+_[0], +_[1]], round = true, rescale();
};
scale.domain = function(_) {
return arguments.length ? (domain(_), rescale()) : domain();
};
scale.bandwidth = function() {
return bandwidth;
};
scale.range = function(_) {
return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice();
};
scale.step = function() {
return step;
};
scale.rangeRound = function(_) {
return range = [+_[0], +_[1]], round = true, rescale();
};
scale.round = function(_) {
return arguments.length ? (round = !!_, rescale()) : round;
};
scale.bandwidth = function() {
return bandwidth;
};
scale.padding = function(_) {
return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;
};
scale.step = function() {
return step;
};
scale.paddingInner = function(_) {
return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;
};
scale.round = function(_) {
return arguments.length ? (round = !!_, rescale()) : round;
};
scale.paddingOuter = function(_) {
return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter;
};
scale.padding = function(_) {
return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;
};
scale.align = function(_) {
return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;
};
scale.paddingInner = function(_) {
return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;
};
scale.copy = function() {
return band()
.domain(domain())
.range(range$$1)
.round(round)
.paddingInner(paddingInner)
.paddingOuter(paddingOuter)
.align(align);
};
scale.paddingOuter = function(_) {
return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter;
};
return rescale();
}
scale.align = function(_) {
return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;
};
function pointish(scale) {
var copy = scale.copy;
scale.copy = function() {
return band()
.domain(domain())
.range(range)
.round(round)
.paddingInner(paddingInner)
.paddingOuter(paddingOuter)
.align(align);
};
scale.padding = scale.paddingOuter;
delete scale.paddingInner;
delete scale.paddingOuter;
return rescale();
}
scale.copy = function() {
return pointish(copy());
};
function pointish(scale) {
var copy = scale.copy;
return scale;
}
scale.padding = scale.paddingOuter;
delete scale.paddingInner;
delete scale.paddingOuter;
function point() {
return pointish(band().paddingInner(1));
}
scale.copy = function() {
return pointish(copy());
};
var constant = function(x) {
return function() {
return x;
};
};
return scale;
}
var number = function(x) {
return +x;
};
function point() {
return pointish(band().paddingInner(1));
}
var unit = [0, 1];
function constant(x) {
return function() {
return x;
};
}
function deinterpolateLinear(a, b) {
return (b -= (a = +a))
? function(x) { return (x - a) / b; }
: constant(b);
}
function number(x) {
return +x;
}
function deinterpolateClamp(deinterpolate) {
return function(a, b) {
var d = deinterpolate(a = +a, b = +b);
return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); };
};
}
var unit = [0, 1];
function reinterpolateClamp(reinterpolate) {
return function(a, b) {
var r = reinterpolate(a = +a, b = +b);
return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); };
};
}
function deinterpolate(a, b) {
return (b -= (a = +a))
? function(x) { return (x - a) / b; }
: constant(b);
}
function bimap(domain, range$$1, deinterpolate, reinterpolate) {
var d0 = domain[0], d1 = domain[1], r0 = range$$1[0], r1 = range$$1[1];
if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0);
else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1);
return function(x) { return r0(d0(x)); };
}
function deinterpolateClamp(deinterpolate) {
return function(a, b) {
var d = deinterpolate(a = +a, b = +b);
return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); };
};
}
function polymap(domain, range$$1, deinterpolate, reinterpolate) {
var j = Math.min(domain.length, range$$1.length) - 1,
d = new Array(j),
r = new Array(j),
i = -1;
function reinterpolateClamp(reinterpolate) {
return function(a, b) {
var r = reinterpolate(a = +a, b = +b);
return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); };
};
// Reverse descending domains.
if (domain[j] < domain[0]) {
domain = domain.slice().reverse();
range$$1 = range$$1.slice().reverse();
}
function bimap(domain, range, deinterpolate, reinterpolate) {
var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];
if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0);
else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1);
return function(x) { return r0(d0(x)); };
while (++i < j) {
d[i] = deinterpolate(domain[i], domain[i + 1]);
r[i] = reinterpolate(range$$1[i], range$$1[i + 1]);
}
function polymap(domain, range, deinterpolate, reinterpolate) {
var j = Math.min(domain.length, range.length) - 1,
d = new Array(j),
r = new Array(j),
i = -1;
return function(x) {
var i = d3Array.bisect(domain, x, 1, j) - 1;
return r[i](d[i](x));
};
}
// Reverse descending domains.
if (domain[j] < domain[0]) {
domain = domain.slice().reverse();
range = range.slice().reverse();
}
function copy(source, target) {
return target
.domain(source.domain())
.range(source.range())
.interpolate(source.interpolate())
.clamp(source.clamp());
}
while (++i < j) {
d[i] = deinterpolate(domain[i], domain[i + 1]);
r[i] = reinterpolate(range[i], range[i + 1]);
}
// deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].
// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].
function continuous(deinterpolate, reinterpolate) {
var domain = unit,
range$$1 = unit,
interpolate$$1 = d3Interpolate.interpolate,
clamp = false,
piecewise,
output,
input;
return function(x) {
var i = d3Array.bisect(domain, x, 1, j) - 1;
return r[i](d[i](x));
};
function rescale() {
piecewise = Math.min(domain.length, range$$1.length) > 2 ? polymap : bimap;
output = input = null;
return scale;
}
function copy(source, target) {
return target
.domain(source.domain())
.range(source.range())
.interpolate(source.interpolate())
.clamp(source.clamp());
function scale(x) {
return (output || (output = piecewise(domain, range$$1, clamp ? deinterpolateClamp(deinterpolate) : deinterpolate, interpolate$$1)))(+x);
}
// deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].
// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].
function continuous(deinterpolate$$, reinterpolate) {
var domain = unit,
range = unit,
interpolate = d3Interpolate.interpolate,
clamp = false,
piecewise,
output,
input;
scale.invert = function(y) {
return (input || (input = piecewise(range$$1, domain, deinterpolateLinear, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate)))(+y);
};
function rescale() {
piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;
output = input = null;
return scale;
}
scale.domain = function(_) {
return arguments.length ? (domain = map$1.call(_, number), rescale()) : domain.slice();
};
function scale(x) {
return (output || (output = piecewise(domain, range, clamp ? deinterpolateClamp(deinterpolate$$) : deinterpolate$$, interpolate)))(+x);
}
scale.range = function(_) {
return arguments.length ? (range$$1 = slice.call(_), rescale()) : range$$1.slice();
};
scale.invert = function(y) {
return (input || (input = piecewise(range, domain, deinterpolate, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate)))(+y);
};
scale.rangeRound = function(_) {
return range$$1 = slice.call(_), interpolate$$1 = d3Interpolate.interpolateRound, rescale();
};
scale.domain = function(_) {
return arguments.length ? (domain = map$1.call(_, number), rescale()) : domain.slice();
};
scale.clamp = function(_) {
return arguments.length ? (clamp = !!_, rescale()) : clamp;
};
scale.range = function(_) {
return arguments.length ? (range = slice.call(_), rescale()) : range.slice();
};
scale.interpolate = function(_) {
return arguments.length ? (interpolate$$1 = _, rescale()) : interpolate$$1;
};
scale.rangeRound = function(_) {
return range = slice.call(_), interpolate = d3Interpolate.interpolateRound, rescale();
};
return rescale();
}
scale.clamp = function(_) {
return arguments.length ? (clamp = !!_, rescale()) : clamp;
};
scale.interpolate = function(_) {
return arguments.length ? (interpolate = _, rescale()) : interpolate;
};
return rescale();
}
function tickFormat(domain, count, specifier) {
var start = domain[0],
stop = domain[domain.length - 1],
step = d3Array.tickStep(start, stop, count == null ? 10 : count),
precision;
specifier = d3Format.formatSpecifier(specifier == null ? ",f" : specifier);
switch (specifier.type) {
case "s": {
var value = Math.max(Math.abs(start), Math.abs(stop));
if (specifier.precision == null && !isNaN(precision = d3Format.precisionPrefix(step, value))) specifier.precision = precision;
return d3Format.formatPrefix(specifier, value);
}
case "":
case "e":
case "g":
case "p":
case "r": {
if (specifier.precision == null && !isNaN(precision = d3Format.precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e");
break;
}
case "f":
case "%": {
if (specifier.precision == null && !isNaN(precision = d3Format.precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2;
break;
}
var tickFormat = function(domain, count, specifier) {
var start = domain[0],
stop = domain[domain.length - 1],
step = d3Array.tickStep(start, stop, count == null ? 10 : count),
precision;
specifier = d3Format.formatSpecifier(specifier == null ? ",f" : specifier);
switch (specifier.type) {
case "s": {
var value = Math.max(Math.abs(start), Math.abs(stop));
if (specifier.precision == null && !isNaN(precision = d3Format.precisionPrefix(step, value))) specifier.precision = precision;
return d3Format.formatPrefix(specifier, value);
}
return d3Format.format(specifier);
case "":
case "e":
case "g":
case "p":
case "r": {
if (specifier.precision == null && !isNaN(precision = d3Format.precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e");
break;
}
case "f":
case "%": {
if (specifier.precision == null && !isNaN(precision = d3Format.precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2;
break;
}
}
return d3Format.format(specifier);
};
function linearish(scale) {
var domain = scale.domain;
function linearish(scale) {
var domain = scale.domain;
scale.ticks = function(count) {
var d = domain();
return d3Array.ticks(d[0], d[d.length - 1], count == null ? 10 : count);
};
scale.ticks = function(count) {
var d = domain();
return d3Array.ticks(d[0], d[d.length - 1], count == null ? 10 : count);
};
scale.tickFormat = function(count, specifier) {
return tickFormat(domain(), count, specifier);
};
scale.tickFormat = function(count, specifier) {
return tickFormat(domain(), count, specifier);
};
scale.nice = function(count) {
var d = domain(),
i = d.length - 1,
n = count == null ? 10 : count,
start = d[0],
stop = d[i],
step = d3Array.tickStep(start, stop, n);
scale.nice = function(count) {
var d = domain(),
i = d.length - 1,
n = count == null ? 10 : count,
start = d[0],
stop = d[i],
step = d3Array.tickStep(start, stop, n);
if (step) {
step = d3Array.tickStep(Math.floor(start / step) * step, Math.ceil(stop / step) * step, n);
d[0] = Math.floor(start / step) * step;
d[i] = Math.ceil(stop / step) * step;
domain(d);
}
if (step) {
step = d3Array.tickStep(Math.floor(start / step) * step, Math.ceil(stop / step) * step, n);
d[0] = Math.floor(start / step) * step;
d[i] = Math.ceil(stop / step) * step;
domain(d);
}
return scale;
};
return scale;
}
};
function linear() {
var scale = continuous(deinterpolate, d3Interpolate.interpolateNumber);
return scale;
}
scale.copy = function() {
return copy(scale, linear());
};
function linear() {
var scale = continuous(deinterpolateLinear, d3Interpolate.interpolateNumber);
return linearish(scale);
}
scale.copy = function() {
return copy(scale, linear());
};
function identity() {
var domain = [0, 1];
return linearish(scale);
}
function scale(x) {
return +x;
}
function identity() {
var domain = [0, 1];
scale.invert = scale;
function scale(x) {
return +x;
}
scale.domain = scale.range = function(_) {
return arguments.length ? (domain = map$1.call(_, number), scale) : domain.slice();
};
scale.invert = scale;
scale.copy = function() {
return identity().domain(domain);
};
scale.domain = scale.range = function(_) {
return arguments.length ? (domain = map$1.call(_, number), scale) : domain.slice();
};
return linearish(scale);
}
scale.copy = function() {
return identity().domain(domain);
};
function nice(domain, interval) {
domain = domain.slice();
return linearish(scale);
}
var i0 = 0,
i1 = domain.length - 1,
x0 = domain[i0],
x1 = domain[i1],
t;
var nice = function(domain, interval) {
domain = domain.slice();
if (x1 < x0) {
t = i0, i0 = i1, i1 = t;
t = x0, x0 = x1, x1 = t;
}
var i0 = 0,
i1 = domain.length - 1,
x0 = domain[i0],
x1 = domain[i1],
t;
domain[i0] = interval.floor(x0);
domain[i1] = interval.ceil(x1);
return domain;
if (x1 < x0) {
t = i0, i0 = i1, i1 = t;
t = x0, x0 = x1, x1 = t;
}
function deinterpolate$1(a, b) {
return (b = Math.log(b / a))
? function(x) { return Math.log(x / a) / b; }
: constant(b);
}
domain[i0] = interval.floor(x0);
domain[i1] = interval.ceil(x1);
return domain;
};
function reinterpolate(a, b) {
return a < 0
? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); }
: function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); };
}
function deinterpolate(a, b) {
return (b = Math.log(b / a))
? function(x) { return Math.log(x / a) / b; }
: constant(b);
}
function pow10(x) {
return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x;
}
function reinterpolate(a, b) {
return a < 0
? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); }
: function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); };
}
function powp(base) {
return base === 10 ? pow10
: base === Math.E ? Math.exp
: function(x) { return Math.pow(base, x); };
}
function pow10(x) {
return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x;
}
function logp(base) {
return base === Math.E ? Math.log
: base === 10 && Math.log10
|| base === 2 && Math.log2
|| (base = Math.log(base), function(x) { return Math.log(x) / base; });
}
function powp(base) {
return base === 10 ? pow10
: base === Math.E ? Math.exp
: function(x) { return Math.pow(base, x); };
}
function reflect(f) {
return function(x) {
return -f(-x);
};
}
function logp(base) {
return base === Math.E ? Math.log
: base === 10 && Math.log10
|| base === 2 && Math.log2
|| (base = Math.log(base), function(x) { return Math.log(x) / base; });
}
function log() {
var scale = continuous(deinterpolate$1, reinterpolate).domain([1, 10]),
domain = scale.domain,
base = 10,
logs = logp(10),
pows = powp(10);
function reflect(f) {
return function(x) {
return -f(-x);
};
}
function rescale() {
logs = logp(base), pows = powp(base);
if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows);
return scale;
}
function log() {
var scale = continuous(deinterpolate, reinterpolate).domain([1, 10]),
domain = scale.domain,
base = 10,
logs = logp(10),
pows = powp(10);
scale.base = function(_) {
return arguments.length ? (base = +_, rescale()) : base;
};
function rescale() {
logs = logp(base), pows = powp(base);
if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows);
return scale;
}
scale.domain = function(_) {
return arguments.length ? (domain(_), rescale()) : domain();
};
scale.base = function(_) {
return arguments.length ? (base = +_, rescale()) : base;
};
scale.ticks = function(count) {
var d = domain(),
u = d[0],
v = d[d.length - 1],
r;
scale.domain = function(_) {
return arguments.length ? (domain(_), rescale()) : domain();
};
if (r = v < u) i = u, u = v, v = i;
scale.ticks = function(count) {
var d = domain(),
u = d[0],
v = d[d.length - 1],
r;
var i = logs(u),
j = logs(v),
p,
k,
t,
n = count == null ? 10 : +count,
z = [];
if (r = v < u) i = u, u = v, v = i;
if (!(base % 1) && j - i < n) {
i = Math.round(i) - 1, j = Math.round(j) + 1;
if (u > 0) for (; i < j; ++i) {
for (k = 1, p = pows(i); k < base; ++k) {
t = p * k;
if (t < u) continue;
if (t > v) break;
z.push(t);
}
} else for (; i < j; ++i) {
for (k = base - 1, p = pows(i); k >= 1; --k) {
t = p * k;
if (t < u) continue;
if (t > v) break;
z.push(t);
}
var i = logs(u),
j = logs(v),
p,
k,
t,
n = count == null ? 10 : +count,
z = [];
if (!(base % 1) && j - i < n) {
i = Math.round(i) - 1, j = Math.round(j) + 1;
if (u > 0) for (; i < j; ++i) {
for (k = 1, p = pows(i); k < base; ++k) {
t = p * k;
if (t < u) continue;
if (t > v) break;
z.push(t);
}
} else {
z = d3Array.ticks(i, j, Math.min(j - i, n)).map(pows);
} else for (; i < j; ++i) {
for (k = base - 1, p = pows(i); k >= 1; --k) {
t = p * k;
if (t < u) continue;
if (t > v) break;
z.push(t);
}
}
} else {
z = d3Array.ticks(i, j, Math.min(j - i, n)).map(pows);
}
return r ? z.reverse() : z;
};
return r ? z.reverse() : z;
};
scale.tickFormat = function(count, specifier) {
if (specifier == null) specifier = base === 10 ? ".0e" : ",";
if (typeof specifier !== "function") specifier = d3Format.format(specifier);
if (count === Infinity) return specifier;
if (count == null) count = 10;
var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?
return function(d) {
var i = d / pows(Math.round(logs(d)));
if (i * base < base - 0.5) i *= base;
return i <= k ? specifier(d) : "";
};
scale.tickFormat = function(count, specifier) {
if (specifier == null) specifier = base === 10 ? ".0e" : ",";
if (typeof specifier !== "function") specifier = d3Format.format(specifier);
if (count === Infinity) return specifier;
if (count == null) count = 10;
var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?
return function(d) {
var i = d / pows(Math.round(logs(d)));
if (i * base < base - 0.5) i *= base;
return i <= k ? specifier(d) : "";
};
};
scale.nice = function() {
return domain(nice(domain(), {
floor: function(x) { return pows(Math.floor(logs(x))); },
ceil: function(x) { return pows(Math.ceil(logs(x))); }
}));
};
scale.nice = function() {
return domain(nice(domain(), {
floor: function(x) { return pows(Math.floor(logs(x))); },
ceil: function(x) { return pows(Math.ceil(logs(x))); }
}));
};
scale.copy = function() {
return copy(scale, log().base(base));
};
scale.copy = function() {
return copy(scale, log().base(base));
};
return scale;
return scale;
}
function raise(x, exponent) {
return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);
}
function pow() {
var exponent = 1,
scale = continuous(deinterpolate, reinterpolate),
domain = scale.domain;
function deinterpolate(a, b) {
return (b = raise(b, exponent) - (a = raise(a, exponent)))
? function(x) { return (raise(x, exponent) - a) / b; }
: constant(b);
}
function raise(x, exponent) {
return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);
function reinterpolate(a, b) {
b = raise(b, exponent) - (a = raise(a, exponent));
return function(t) { return raise(a + b * t, 1 / exponent); };
}
function pow() {
var exponent = 1,
scale = continuous(deinterpolate, reinterpolate),
domain = scale.domain;
scale.exponent = function(_) {
return arguments.length ? (exponent = +_, domain(domain())) : exponent;
};
function deinterpolate(a, b) {
return (b = raise(b, exponent) - (a = raise(a, exponent)))
? function(x) { return (raise(x, exponent) - a) / b; }
: constant(b);
}
scale.copy = function() {
return copy(scale, pow().exponent(exponent));
};
function reinterpolate(a, b) {
b = raise(b, exponent) - (a = raise(a, exponent));
return function(t) { return raise(a + b * t, 1 / exponent); };
}
return linearish(scale);
}
scale.exponent = function(_) {
return arguments.length ? (exponent = +_, domain(domain())) : exponent;
};
function sqrt() {
return pow().exponent(0.5);
}
scale.copy = function() {
return copy(scale, pow().exponent(exponent));
};
function quantile$1() {
var domain = [],
range$$1 = [],
thresholds = [];
return linearish(scale);
function rescale() {
var i = 0, n = Math.max(1, range$$1.length);
thresholds = new Array(n - 1);
while (++i < n) thresholds[i - 1] = d3Array.quantile(domain, i / n);
return scale;
}
function sqrt() {
return pow().exponent(0.5);
function scale(x) {
if (!isNaN(x = +x)) return range$$1[d3Array.bisect(thresholds, x)];
}
function quantile$1() {
var domain = [],
range = [],
thresholds = [];
scale.invertExtent = function(y) {
var i = range$$1.indexOf(y);
return i < 0 ? [NaN, NaN] : [
i > 0 ? thresholds[i - 1] : domain[0],
i < thresholds.length ? thresholds[i] : domain[domain.length - 1]
];
};
function rescale() {
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;
}
scale.domain = function(_) {
if (!arguments.length) return domain.slice();
domain = [];
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);
return rescale();
};
function scale(x) {
if (!isNaN(x = +x)) return range[d3Array.bisect(thresholds, x)];
}
scale.range = function(_) {
return arguments.length ? (range$$1 = slice.call(_), rescale()) : range$$1.slice();
};
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.quantiles = function() {
return thresholds.slice();
};
scale.domain = function(_) {
if (!arguments.length) return domain.slice();
domain = [];
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);
return rescale();
};
scale.copy = function() {
return quantile$1()
.domain(domain)
.range(range$$1);
};
scale.range = function(_) {
return arguments.length ? (range = slice.call(_), rescale()) : range.slice();
};
return scale;
}
scale.quantiles = function() {
return thresholds.slice();
};
function quantize() {
var x0 = 0,
x1 = 1,
n = 1,
domain = [0.5],
range$$1 = [0, 1];
scale.copy = function() {
return quantile$1()
.domain(domain)
.range(range);
};
function scale(x) {
if (x <= x) return range$$1[d3Array.bisect(domain, x, 0, n)];
}
function rescale() {
var i = -1;
domain = new Array(n);
while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);
return scale;
}
function quantize() {
var x0 = 0,
x1 = 1,
n = 1,
domain = [0.5],
range = [0, 1];
scale.domain = function(_) {
return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1];
};
function scale(x) {
if (x <= x) return range[d3Array.bisect(domain, x, 0, n)];
}
scale.range = function(_) {
return arguments.length ? (n = (range$$1 = slice.call(_)).length - 1, rescale()) : range$$1.slice();
};
function rescale() {
var i = -1;
domain = new Array(n);
while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);
return scale;
}
scale.invertExtent = function(y) {
var i = range$$1.indexOf(y);
return i < 0 ? [NaN, NaN]
: i < 1 ? [x0, domain[0]]
: i >= n ? [domain[n - 1], x1]
: [domain[i - 1], domain[i]];
};
scale.domain = function(_) {
return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1];
};
scale.copy = function() {
return quantize()
.domain([x0, x1])
.range(range$$1);
};
scale.range = function(_) {
return arguments.length ? (n = (range = slice.call(_)).length - 1, rescale()) : range.slice();
};
return linearish(scale);
}
scale.invertExtent = function(y) {
var i = range.indexOf(y);
return i < 0 ? [NaN, NaN]
: i < 1 ? [x0, domain[0]]
: i >= n ? [domain[n - 1], x1]
: [domain[i - 1], domain[i]];
};
function threshold() {
var domain = [0.5],
range$$1 = [0, 1],
n = 1;
scale.copy = function() {
return quantize()
.domain([x0, x1])
.range(range);
};
return linearish(scale);
function scale(x) {
if (x <= x) return range$$1[d3Array.bisect(domain, x, 0, n)];
}
function threshold() {
var domain = [0.5],
range = [0, 1],
n = 1;
scale.domain = function(_) {
return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range$$1.length - 1), scale) : domain.slice();
};
function scale(x) {
if (x <= x) return range[d3Array.bisect(domain, x, 0, n)];
}
scale.range = function(_) {
return arguments.length ? (range$$1 = slice.call(_), n = Math.min(domain.length, range$$1.length - 1), scale) : range$$1.slice();
};
scale.domain = function(_) {
return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();
};
scale.invertExtent = function(y) {
var i = range$$1.indexOf(y);
return [domain[i - 1], domain[i]];
};
scale.range = function(_) {
return arguments.length ? (range = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();
};
scale.copy = function() {
return threshold()
.domain(domain)
.range(range$$1);
};
scale.invertExtent = function(y) {
var i = range.indexOf(y);
return [domain[i - 1], domain[i]];
};
return scale;
}
scale.copy = function() {
return threshold()
.domain(domain)
.range(range);
};
var durationSecond = 1000;
var durationMinute = durationSecond * 60;
var durationHour = durationMinute * 60;
var durationDay = durationHour * 24;
var durationWeek = durationDay * 7;
var durationMonth = durationDay * 30;
var durationYear = durationDay * 365;
return scale;
}
function date(t) {
return new Date(t);
}
var durationSecond = 1000;
var durationMinute = durationSecond * 60;
var durationHour = durationMinute * 60;
var durationDay = durationHour * 24;
var durationWeek = durationDay * 7;
var durationMonth = durationDay * 30;
var durationYear = durationDay * 365;
function date(t) {
return new Date(t);
}
function number$1(t) {
return t instanceof Date ? +t : +new Date(+t);
}
function number$1(t) {
return t instanceof Date ? +t : +new Date(+t);
}
function calendar(year, month, week, day, hour, minute, second, millisecond, format$$1) {
var scale = continuous(deinterpolateLinear, d3Interpolate.interpolateNumber),
invert = scale.invert,
domain = scale.domain;
function calendar(year, month, week, day, hour, minute, second, millisecond, format) {
var scale = continuous(deinterpolate, d3Interpolate.interpolateNumber),
invert = scale.invert,
domain = scale.domain;
var formatMillisecond = format$$1(".%L"),
formatSecond = format$$1(":%S"),
formatMinute = format$$1("%I:%M"),
formatHour = format$$1("%I %p"),
formatDay = format$$1("%a %d"),
formatWeek = format$$1("%b %d"),
formatMonth = format$$1("%B"),
formatYear = format$$1("%Y");
var formatMillisecond = format(".%L"),
formatSecond = format(":%S"),
formatMinute = format("%I:%M"),
formatHour = format("%I %p"),
formatDay = format("%a %d"),
formatWeek = format("%b %d"),
formatMonth = format("%B"),
formatYear = format("%Y");
var tickIntervals = [
[second, 1, durationSecond],
[second, 5, 5 * durationSecond],
[second, 15, 15 * durationSecond],
[second, 30, 30 * durationSecond],
[minute, 1, durationMinute],
[minute, 5, 5 * durationMinute],
[minute, 15, 15 * durationMinute],
[minute, 30, 30 * durationMinute],
[ hour, 1, durationHour ],
[ hour, 3, 3 * durationHour ],
[ hour, 6, 6 * durationHour ],
[ hour, 12, 12 * durationHour ],
[ day, 1, durationDay ],
[ day, 2, 2 * durationDay ],
[ week, 1, durationWeek ],
[ month, 1, durationMonth ],
[ month, 3, 3 * durationMonth ],
[ year, 1, durationYear ]
];
var tickIntervals = [
[second, 1, durationSecond],
[second, 5, 5 * durationSecond],
[second, 15, 15 * durationSecond],
[second, 30, 30 * durationSecond],
[minute, 1, durationMinute],
[minute, 5, 5 * durationMinute],
[minute, 15, 15 * durationMinute],
[minute, 30, 30 * durationMinute],
[ hour, 1, durationHour ],
[ hour, 3, 3 * durationHour ],
[ hour, 6, 6 * durationHour ],
[ hour, 12, 12 * durationHour ],
[ day, 1, durationDay ],
[ day, 2, 2 * durationDay ],
[ week, 1, durationWeek ],
[ month, 1, durationMonth ],
[ month, 3, 3 * durationMonth ],
[ year, 1, durationYear ]
];
function tickFormat(date) {
return (second(date) < date ? formatMillisecond
: minute(date) < date ? formatSecond
: hour(date) < date ? formatMinute
: day(date) < date ? formatHour
: month(date) < date ? (week(date) < date ? formatDay : formatWeek)
: year(date) < date ? formatMonth
: formatYear)(date);
}
function tickFormat(date) {
return (second(date) < date ? formatMillisecond
: minute(date) < date ? formatSecond
: hour(date) < date ? formatMinute
: day(date) < date ? formatHour
: month(date) < date ? (week(date) < date ? formatDay : formatWeek)
: year(date) < date ? formatMonth
: formatYear)(date);
}
function tickInterval(interval, start, stop, step) {
if (interval == null) interval = 10;
function tickInterval(interval, start, stop, step) {
if (interval == null) interval = 10;
// If a desired tick count is specified, pick a reasonable tick interval
// based on the extent of the domain and a rough estimate of tick size.
// Otherwise, assume interval is already a time interval and use it.
if (typeof interval === "number") {
var target = Math.abs(stop - start) / interval,
i = d3Array.bisector(function(i) { return i[2]; }).right(tickIntervals, target);
if (i === tickIntervals.length) {
step = d3Array.tickStep(start / durationYear, stop / durationYear, interval);
interval = year;
} else if (i) {
i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];
step = i[1];
interval = i[0];
} else {
step = d3Array.tickStep(start, stop, interval);
interval = millisecond;
}
// If a desired tick count is specified, pick a reasonable tick interval
// based on the extent of the domain and a rough estimate of tick size.
// Otherwise, assume interval is already a time interval and use it.
if (typeof interval === "number") {
var target = Math.abs(stop - start) / interval,
i = d3Array.bisector(function(i) { return i[2]; }).right(tickIntervals, target);
if (i === tickIntervals.length) {
step = d3Array.tickStep(start / durationYear, stop / durationYear, interval);
interval = year;
} else if (i) {
i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];
step = i[1];
interval = i[0];
} else {
step = d3Array.tickStep(start, stop, interval);
interval = millisecond;
}
return step == null ? interval : interval.every(step);
}
scale.invert = function(y) {
return new Date(invert(y));
};
return step == null ? interval : interval.every(step);
}
scale.domain = function(_) {
return arguments.length ? domain(map$1.call(_, number$1)) : domain().map(date);
};
scale.invert = function(y) {
return new Date(invert(y));
};
scale.ticks = function(interval, step) {
var d = domain(),
t0 = d[0],
t1 = d[d.length - 1],
r = t1 < t0,
t;
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;
};
scale.domain = function(_) {
return arguments.length ? domain(map$1.call(_, number$1)) : domain().map(date);
};
scale.tickFormat = function(count, specifier) {
return specifier == null ? tickFormat : format(specifier);
};
scale.ticks = function(interval, step) {
var d = domain(),
t0 = d[0],
t1 = d[d.length - 1],
r = t1 < t0,
t;
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;
};
scale.nice = function(interval, step) {
var d = domain();
return (interval = tickInterval(interval, d[0], d[d.length - 1], step))
? domain(nice(d, interval))
: scale;
};
scale.tickFormat = function(count, specifier) {
return specifier == null ? tickFormat : format$$1(specifier);
};
scale.copy = function() {
return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format));
};
scale.nice = function(interval, step) {
var d = domain();
return (interval = tickInterval(interval, d[0], d[d.length - 1], step))
? domain(nice(d, interval))
: scale;
};
return scale;
}
scale.copy = function() {
return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format$$1));
};
function time() {
return calendar(d3Time.timeYear, d3Time.timeMonth, d3Time.timeWeek, d3Time.timeDay, d3Time.timeHour, d3Time.timeMinute, d3Time.timeSecond, d3Time.timeMillisecond, d3TimeFormat.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);
}
return scale;
}
function utcTime() {
return calendar(d3Time.utcYear, d3Time.utcMonth, d3Time.utcWeek, d3Time.utcDay, d3Time.utcHour, d3Time.utcMinute, d3Time.utcSecond, d3Time.utcMillisecond, d3TimeFormat.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);
}
var time = function() {
return calendar(d3Time.timeYear, d3Time.timeMonth, d3Time.timeWeek, d3Time.timeDay, d3Time.timeHour, d3Time.timeMinute, d3Time.timeSecond, d3Time.timeMillisecond, d3TimeFormat.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);
};
function colors(s) {
return s.match(/.{6}/g).map(function(x) {
return "#" + x;
});
}
var utcTime = function() {
return calendar(d3Time.utcYear, d3Time.utcMonth, d3Time.utcWeek, d3Time.utcDay, d3Time.utcHour, d3Time.utcMinute, d3Time.utcSecond, d3Time.utcMillisecond, d3TimeFormat.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);
};
var category10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");
var colors = function(s) {
return s.match(/.{6}/g).map(function(x) {
return "#" + x;
});
};
var category20b = colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6");
var category10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");
var category20c = colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9");
var category20b = colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6");
var category20 = colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5");
var category20c = colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9");
var cubehelix$1 = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(300, 0.5, 0.0), d3Color.cubehelix(-240, 0.5, 1.0));
var category20 = colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5");
var warm = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8));
var cubehelix$1 = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(300, 0.5, 0.0), d3Color.cubehelix(-240, 0.5, 1.0));
var cool = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8));
var warm = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8));
var rainbow = d3Color.cubehelix();
var cool = d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8));
function rainbow$1(t) {
if (t < 0 || t > 1) t -= Math.floor(t);
var ts = Math.abs(t - 0.5);
rainbow.h = 360 * t - 100;
rainbow.s = 1.5 - 1.5 * ts;
rainbow.l = 0.8 - 0.9 * ts;
return rainbow + "";
}
var rainbow = d3Color.cubehelix();
function ramp(range) {
var n = range.length;
return function(t) {
return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];
};
}
var rainbow$1 = function(t) {
if (t < 0 || t > 1) t -= Math.floor(t);
var ts = Math.abs(t - 0.5);
rainbow.h = 360 * t - 100;
rainbow.s = 1.5 - 1.5 * ts;
rainbow.l = 0.8 - 0.9 * ts;
return rainbow + "";
};
var viridis = ramp(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));
function ramp(range$$1) {
var n = range$$1.length;
return function(t) {
return range$$1[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];
};
}
var magma = ramp(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));
var viridis = ramp(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));
var inferno = ramp(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));
var magma = ramp(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));
var plasma = ramp(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));
var inferno = ramp(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));
function sequential(interpolator) {
var x0 = 0,
x1 = 1,
clamp = false;
var plasma = ramp(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));
function scale(x) {
var t = (x - x0) / (x1 - x0);
return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);
}
function sequential(interpolator) {
var x0 = 0,
x1 = 1,
clamp = false;
scale.domain = function(_) {
return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1];
};
function scale(x) {
var t = (x - x0) / (x1 - x0);
return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);
}
scale.clamp = function(_) {
return arguments.length ? (clamp = !!_, scale) : clamp;
};
scale.domain = function(_) {
return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1];
};
scale.interpolator = function(_) {
return arguments.length ? (interpolator = _, scale) : interpolator;
};
scale.clamp = function(_) {
return arguments.length ? (clamp = !!_, scale) : clamp;
};
scale.copy = function() {
return sequential(interpolator).domain([x0, x1]).clamp(clamp);
};
scale.interpolator = function(_) {
return arguments.length ? (interpolator = _, scale) : interpolator;
};
return linearish(scale);
}
scale.copy = function() {
return sequential(interpolator).domain([x0, x1]).clamp(clamp);
};
exports.scaleBand = band;
exports.scalePoint = point;
exports.scaleIdentity = identity;
exports.scaleLinear = linear;
exports.scaleLog = log;
exports.scaleOrdinal = ordinal;
exports.scaleImplicit = implicit;
exports.scalePow = pow;
exports.scaleSqrt = sqrt;
exports.scaleQuantile = quantile$1;
exports.scaleQuantize = quantize;
exports.scaleThreshold = threshold;
exports.scaleTime = time;
exports.scaleUtc = utcTime;
exports.schemeCategory10 = category10;
exports.schemeCategory20b = category20b;
exports.schemeCategory20c = category20c;
exports.schemeCategory20 = category20;
exports.interpolateCubehelixDefault = cubehelix$1;
exports.interpolateRainbow = rainbow$1;
exports.interpolateWarm = warm;
exports.interpolateCool = cool;
exports.interpolateViridis = viridis;
exports.interpolateMagma = magma;
exports.interpolateInferno = inferno;
exports.interpolatePlasma = plasma;
exports.scaleSequential = sequential;
return linearish(scale);
}
Object.defineProperty(exports, '__esModule', { value: true });
exports.scaleBand = band;
exports.scalePoint = point;
exports.scaleIdentity = identity;
exports.scaleLinear = linear;
exports.scaleLog = log;
exports.scaleOrdinal = ordinal;
exports.scaleImplicit = implicit;
exports.scalePow = pow;
exports.scaleSqrt = sqrt;
exports.scaleQuantile = quantile$1;
exports.scaleQuantize = quantize;
exports.scaleThreshold = threshold;
exports.scaleTime = time;
exports.scaleUtc = utcTime;
exports.schemeCategory10 = category10;
exports.schemeCategory20b = category20b;
exports.schemeCategory20c = category20c;
exports.schemeCategory20 = category20;
exports.interpolateCubehelixDefault = cubehelix$1;
exports.interpolateRainbow = rainbow$1;
exports.interpolateWarm = warm;
exports.interpolateCool = cool;
exports.interpolateViridis = viridis;
exports.interpolateMagma = magma;
exports.interpolateInferno = inferno;
exports.interpolatePlasma = plasma;
exports.scaleSequential = sequential;
}));
Object.defineProperty(exports, '__esModule', { value: true });
})));

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

// https://d3js.org/d3-scale/ Version 1.0.3. Copyright 2016 Mike Bostock.
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("d3-array"),require("d3-collection"),require("d3-interpolate"),require("d3-format"),require("d3-time"),require("d3-time-format"),require("d3-color")):"function"==typeof define&&define.amd?define(["exports","d3-array","d3-collection","d3-interpolate","d3-format","d3-time","d3-time-format","d3-color"],n):n(e.d3=e.d3||{},e.d3,e.d3,e.d3,e.d3,e.d3,e.d3,e.d3)}(this,function(e,n,a,f,c,t,r,d){"use strict";function i(e){function n(n){var a=n+"",r=f.get(a);if(!r){if(t!==X)return t;f.set(a,r=c.push(n))}return e[(r-1)%e.length]}var f=a.map(),c=[],t=X;return e=null==e?[]:K.call(e),n.domain=function(e){if(!arguments.length)return c.slice();c=[],f=a.map();for(var t,r,d=-1,i=e.length;++d<i;)f.has(r=(t=e[d])+"")||f.set(r,c.push(t));return n},n.range=function(a){return arguments.length?(e=K.call(a),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return i().domain(c).range(e).unknown(t)},n}function u(){function e(){var e=t().length,c=d[1]<d[0],i=d[c-0],u=d[1-c];a=(u-i)/Math.max(1,e-o+2*l),b&&(a=Math.floor(a)),i+=(u-i-a*(e-o))*h,f=a*(1-o),b&&(i=Math.round(i),f=Math.round(f));var s=n.range(e).map(function(e){return i+a*e});return r(c?s.reverse():s)}var a,f,c=i().unknown(void 0),t=c.domain,r=c.range,d=[0,1],b=!1,o=0,l=0,h=.5;return delete c.unknown,c.domain=function(n){return arguments.length?(t(n),e()):t()},c.range=function(n){return arguments.length?(d=[+n[0],+n[1]],e()):d.slice()},c.rangeRound=function(n){return d=[+n[0],+n[1]],b=!0,e()},c.bandwidth=function(){return f},c.step=function(){return a},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?(h=Math.max(0,Math.min(1,n)),e()):h},c.copy=function(){return u().domain(t()).range(d).round(b).paddingInner(o).paddingOuter(l).align(h)},e()}function b(e){var n=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return b(n())},e}function o(){return b(u().paddingInner(1))}function l(e){return function(){return e}}function h(e){return+e}function s(e,n){return(n-=e=+e)?function(a){return(a-e)/n}:l(n)}function g(e){return function(n,a){var f=e(n=+n,a=+a);return function(e){return e<=n?0:e>=a?1:f(e)}}}function p(e){return function(n,a){var f=e(n=+n,a=+a);return function(e){return e<=0?n:e>=1?a:f(e)}}}function m(e,n,a,f){var c=e[0],t=e[1],r=n[0],d=n[1];return t<c?(c=a(t,c),r=f(d,r)):(c=a(c,t),r=f(r,d)),function(e){return r(c(e))}}function M(e,a,f,c){var t=Math.min(e.length,a.length)-1,r=new Array(t),d=new Array(t),i=-1;for(e[t]<e[0]&&(e=e.slice().reverse(),a=a.slice().reverse());++i<t;)r[i]=f(e[i],e[i+1]),d[i]=c(a[i],a[i+1]);return function(a){var f=n.bisect(e,a,1,t)-1;return d[f](r[f](a))}}function v(e,n){return n.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp())}function x(e,n){function a(){return t=Math.min(i.length,u.length)>2?M:m,r=d=null,c}function c(n){return(r||(r=t(i,u,o?g(e):e,b)))(+n)}var t,r,d,i=Z,u=Z,b=f.interpolate,o=!1;return c.invert=function(e){return(d||(d=t(u,i,s,o?p(n):n)))(+e)},c.domain=function(e){return arguments.length?(i=J.call(e,h),a()):i.slice()},c.range=function(e){return arguments.length?(u=K.call(e),a()):u.slice()},c.rangeRound=function(e){return u=K.call(e),b=f.interpolateRound,a()},c.clamp=function(e){return arguments.length?(o=!!e,a()):o},c.interpolate=function(e){return arguments.length?(b=e,a()):b},a()}function y(e,a,f){var t,r=e[0],d=e[e.length-1],i=n.tickStep(r,d,null==a?10:a);switch(f=c.formatSpecifier(null==f?",f":f),f.type){case"s":var u=Math.max(Math.abs(r),Math.abs(d));return null!=f.precision||isNaN(t=c.precisionPrefix(i,u))||(f.precision=t),c.formatPrefix(f,u);case"":case"e":case"g":case"p":case"r":null!=f.precision||isNaN(t=c.precisionRound(i,Math.max(Math.abs(r),Math.abs(d))))||(f.precision=t-("e"===f.type));break;case"f":case"%":null!=f.precision||isNaN(t=c.precisionFixed(i))||(f.precision=t-2*("%"===f.type))}return c.format(f)}function w(e){var a=e.domain;return e.ticks=function(e){var f=a();return n.ticks(f[0],f[f.length-1],null==e?10:e)},e.tickFormat=function(e,n){return y(a(),e,n)},e.nice=function(f){var c=a(),t=c.length-1,r=null==f?10:f,d=c[0],i=c[t],u=n.tickStep(d,i,r);return u&&(u=n.tickStep(Math.floor(d/u)*u,Math.ceil(i/u)*u,r),c[0]=Math.floor(d/u)*u,c[t]=Math.ceil(i/u)*u,a(c)),e},e}function k(){var e=x(s,f.interpolateNumber);return e.copy=function(){return v(e,k())},w(e)}function N(){function e(e){return+e}var n=[0,1];return e.invert=e,e.domain=e.range=function(a){return arguments.length?(n=J.call(a,h),e):n.slice()},e.copy=function(){return N().domain(n)},w(e)}function q(e,n){e=e.slice();var a,f=0,c=e.length-1,t=e[f],r=e[c];return r<t&&(a=f,f=c,c=a,a=t,t=r,r=a),e[f]=n.floor(t),e[c]=n.ceil(r),e}function C(e,n){return(n=Math.log(n/e))?function(a){return Math.log(a/e)/n}:l(n)}function D(e,n){return e<0?function(a){return-Math.pow(-n,a)*Math.pow(-e,1-a)}:function(a){return Math.pow(n,a)*Math.pow(e,1-a)}}function S(e){return isFinite(e)?+("1e"+e):e<0?0:e}function I(e){return 10===e?S:e===Math.E?Math.exp:function(n){return Math.pow(e,n)}}function O(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 L(){function e(){return r=O(t),d=I(t),f()[0]<0&&(r=F(r),d=F(d)),a}var a=x(C,D).domain([1,10]),f=a.domain,t=10,r=O(10),d=I(10);return a.base=function(n){return arguments.length?(t=+n,e()):t},a.domain=function(n){return arguments.length?(f(n),e()):f()},a.ticks=function(e){var a,c=f(),i=c[0],u=c[c.length-1];(a=u<i)&&(h=i,i=u,u=h);var b,o,l,h=r(i),s=r(u),g=null==e?10:+e,p=[];if(!(t%1)&&s-h<g){if(h=Math.round(h)-1,s=Math.round(s)+1,i>0){for(;h<s;++h)for(o=1,b=d(h);o<t;++o)if(l=b*o,!(l<i)){if(l>u)break;p.push(l)}}else for(;h<s;++h)for(o=t-1,b=d(h);o>=1;--o)if(l=b*o,!(l<i)){if(l>u)break;p.push(l)}}else p=n.ticks(h,s,Math.min(s-h,g)).map(d);return a?p.reverse():p},a.tickFormat=function(e,n){if(null==n&&(n=10===t?".0e":","),"function"!=typeof n&&(n=c.format(n)),e===1/0)return n;null==e&&(e=10);var f=Math.max(1,t*e/a.ticks().length);return function(e){var a=e/d(Math.round(r(e)));return a*t<t-.5&&(a*=t),a<=f?n(e):""}},a.nice=function(){return f(q(f(),{floor:function(e){return d(Math.floor(r(e)))},ceil:function(e){return d(Math.ceil(r(e)))}}))},a.copy=function(){return v(a,L().base(t))},a}function P(e,n){return e<0?-Math.pow(-e,n):Math.pow(e,n)}function A(){function e(e,n){return(n=P(n,a)-(e=P(e,a)))?function(f){return(P(f,a)-e)/n}:l(n)}function n(e,n){return n=P(n,a)-(e=P(e,a)),function(f){return P(e+n*f,1/a)}}var a=1,f=x(e,n),c=f.domain;return f.exponent=function(e){return arguments.length?(a=+e,c(c())):a},f.copy=function(){return v(f,A().exponent(a))},w(f)}function E(){return A().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(f,e/r);return a}function a(e){if(!isNaN(e=+e))return c[n.bisect(t,e)]}var f=[],c=[],t=[];return a.invertExtent=function(e){var n=c.indexOf(e);return n<0?[NaN,NaN]:[n>0?t[n-1]:f[0],n<t.length?t[n]:f[f.length-1]]},a.domain=function(a){if(!arguments.length)return f.slice();f=[];for(var c,t=0,r=a.length;t<r;++t)c=a[t],null==c||isNaN(c=+c)||f.push(c);return f.sort(n.ascending),e()},a.range=function(n){return arguments.length?(c=K.call(n),e()):c.slice()},a.quantiles=function(){return t.slice()},a.copy=function(){return R().domain(f).range(c)},a}function T(){function e(e){if(e<=e)return d[n.bisect(r,e,0,t)]}function a(){var n=-1;for(r=new Array(t);++n<t;)r[n]=((n+1)*c-(n-t)*f)/(t+1);return e}var f=0,c=1,t=1,r=[.5],d=[0,1];return e.domain=function(e){return arguments.length?(f=+e[0],c=+e[1],a()):[f,c]},e.range=function(e){return arguments.length?(t=(d=K.call(e)).length-1,a()):d.slice()},e.invertExtent=function(e){var n=d.indexOf(e);return n<0?[NaN,NaN]:n<1?[f,r[0]]:n>=t?[r[t-1],c]:[r[n-1],r[n]]},e.copy=function(){return T().domain([f,c]).range(d)},w(e)}function U(){function e(e){if(e<=e)return f[n.bisect(a,e,0,c)]}var a=[.5],f=[0,1],c=1;return e.domain=function(n){return arguments.length?(a=K.call(n),c=Math.min(a.length,f.length-1),e):a.slice()},e.range=function(n){return arguments.length?(f=K.call(n),c=Math.min(a.length,f.length-1),e):f.slice()},e.invertExtent=function(e){var n=f.indexOf(e);return[a[n-1],a[n]]},e.copy=function(){return U().domain(a).range(f)},e}function W(e){return new Date(e)}function Y(e){return e instanceof Date?+e:+new Date((+e))}function j(e,a,c,t,r,d,i,u,b){function o(n){return(i(n)<n?m:d(n)<n?M:r(n)<n?y:t(n)<n?w:a(n)<n?c(n)<n?k:N:e(n)<n?C:D)(n)}function l(a,f,c,t){if(null==a&&(a=10),"number"==typeof a){var r=Math.abs(c-f)/a,d=n.bisector(function(e){return e[2]}).right(S,r);d===S.length?(t=n.tickStep(f/te,c/te,a),a=e):d?(d=S[r/S[d-1][2]<S[d][2]/r?d-1:d],t=d[1],a=d[0]):(t=n.tickStep(f,c,a),a=u)}return null==t?a:a.every(t)}var h=x(s,f.interpolateNumber),g=h.invert,p=h.domain,m=b(".%L"),M=b(":%S"),y=b("%I:%M"),w=b("%I %p"),k=b("%a %d"),N=b("%b %d"),C=b("%B"),D=b("%Y"),S=[[i,1,$],[i,5,5*$],[i,15,15*$],[i,30,30*$],[d,1,ee],[d,5,5*ee],[d,15,15*ee],[d,30,30*ee],[r,1,ne],[r,3,3*ne],[r,6,6*ne],[r,12,12*ne],[t,1,ae],[t,2,2*ae],[c,1,fe],[a,1,ce],[a,3,3*ce],[e,1,te]];return h.invert=function(e){return new Date(g(e))},h.domain=function(e){return arguments.length?p(J.call(e,Y)):p().map(W)},h.ticks=function(e,n){var a,f=p(),c=f[0],t=f[f.length-1],r=t<c;return r&&(a=c,c=t,t=a),a=l(e,c,t,n),a=a?a.range(c,t+1):[],r?a.reverse():a},h.tickFormat=function(e,n){return null==n?o:b(n)},h.nice=function(e,n){var a=p();return(e=l(e,a[0],a[a.length-1],n))?p(q(a,e)):h},h.copy=function(){return v(h,j(e,a,c,t,r,d,i,u,b))},h}function B(){return j(t.timeYear,t.timeMonth,t.timeWeek,t.timeDay,t.timeHour,t.timeMinute,t.timeSecond,t.timeMillisecond,r.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}function H(){return j(t.utcYear,t.utcMonth,t.utcWeek,t.utcDay,t.utcHour,t.utcMinute,t.utcSecond,t.utcMillisecond,r.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}function Q(e){return e.match(/.{6}/g).map(function(e){return"#"+e})}function _(e){(e<0||e>1)&&(e-=Math.floor(e));var n=Math.abs(e-.5);return he.h=360*e-100,he.s=1.5-1.5*n,he.l=.8-.9*n,he+""}function z(e){var n=e.length;return function(a){return e[Math.max(0,Math.min(n-1,Math.floor(a*n)))]}}function V(e){function n(n){var t=(n-a)/(f-a);return e(c?Math.max(0,Math.min(1,t)):t)}var a=0,f=1,c=!1;return n.domain=function(e){return arguments.length?(a=+e[0],f=+e[1],n):[a,f]},n.clamp=function(e){return arguments.length?(c=!!e,n):c},n.interpolator=function(a){return arguments.length?(e=a,n):e},n.copy=function(){return V(e).domain([a,f]).clamp(c)},w(n)}var G=Array.prototype,J=G.map,K=G.slice,X={name:"implicit"},Z=[0,1],$=1e3,ee=60*$,ne=60*ee,ae=24*ne,fe=7*ae,ce=30*ae,te=365*ae,re=Q("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),de=Q("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),ie=Q("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),ue=Q("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),be=f.interpolateCubehelixLong(d.cubehelix(300,.5,0),d.cubehelix(-240,.5,1)),oe=f.interpolateCubehelixLong(d.cubehelix(-100,.75,.35),d.cubehelix(80,1.5,.8)),le=f.interpolateCubehelixLong(d.cubehelix(260,.75,.35),d.cubehelix(80,1.5,.8)),he=d.cubehelix(),se=z(Q("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),ge=z(Q("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),pe=z(Q("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),me=z(Q("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));e.scaleBand=u,e.scalePoint=o,e.scaleIdentity=N,e.scaleLinear=k,e.scaleLog=L,e.scaleOrdinal=i,e.scaleImplicit=X,e.scalePow=A,e.scaleSqrt=E,e.scaleQuantile=R,e.scaleQuantize=T,e.scaleThreshold=U,e.scaleTime=B,e.scaleUtc=H,e.schemeCategory10=re,e.schemeCategory20b=de,e.schemeCategory20c=ie,e.schemeCategory20=ue,e.interpolateCubehelixDefault=be,e.interpolateRainbow=_,e.interpolateWarm=oe,e.interpolateCool=le,e.interpolateViridis=se,e.interpolateMagma=ge,e.interpolateInferno=pe,e.interpolatePlasma=me,e.scaleSequential=V,Object.defineProperty(e,"__esModule",{value:!0})});
// https://d3js.org/d3-scale/ Version 1.0.4. Copyright 2016 Mike Bostock.
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("d3-array"),require("d3-collection"),require("d3-interpolate"),require("d3-format"),require("d3-time"),require("d3-time-format"),require("d3-color")):"function"==typeof define&&define.amd?define(["exports","d3-array","d3-collection","d3-interpolate","d3-format","d3-time","d3-time-format","d3-color"],n):n(e.d3=e.d3||{},e.d3,e.d3,e.d3,e.d3,e.d3,e.d3,e.d3)}(this,function(e,n,a,f,c,t,r,d){"use strict";function i(e){function n(n){var a=n+"",r=f.get(a);if(!r){if(t!==H)return t;f.set(a,r=c.push(n))}return e[(r-1)%e.length]}var f=a.map(),c=[],t=H;return e=null==e?[]:B.call(e),n.domain=function(e){if(!arguments.length)return c.slice();c=[],f=a.map();for(var t,r,d=-1,i=e.length;++d<i;)f.has(r=(t=e[d])+"")||f.set(r,c.push(t));return n},n.range=function(a){return arguments.length?(e=B.call(a),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return i().domain(c).range(e).unknown(t)},n}function u(){function e(){var e=t().length,c=d[1]<d[0],i=d[c-0],u=d[1-c];a=(u-i)/Math.max(1,e-o+2*l),b&&(a=Math.floor(a)),i+=(u-i-a*(e-o))*h,f=a*(1-o),b&&(i=Math.round(i),f=Math.round(f));var s=n.range(e).map(function(e){return i+a*e});return r(c?s.reverse():s)}var a,f,c=i().unknown(void 0),t=c.domain,r=c.range,d=[0,1],b=!1,o=0,l=0,h=.5;return delete c.unknown,c.domain=function(n){return arguments.length?(t(n),e()):t()},c.range=function(n){return arguments.length?(d=[+n[0],+n[1]],e()):d.slice()},c.rangeRound=function(n){return d=[+n[0],+n[1]],b=!0,e()},c.bandwidth=function(){return f},c.step=function(){return a},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?(h=Math.max(0,Math.min(1,n)),e()):h},c.copy=function(){return u().domain(t()).range(d).round(b).paddingInner(o).paddingOuter(l).align(h)},e()}function b(e){var n=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return b(n())},e}function o(){return b(u().paddingInner(1))}function l(e,n){return(n-=e=+e)?function(a){return(a-e)/n}:Q(n)}function h(e){return function(n,a){var f=e(n=+n,a=+a);return function(e){return e<=n?0:e>=a?1:f(e)}}}function s(e){return function(n,a){var f=e(n=+n,a=+a);return function(e){return e<=0?n:e>=1?a:f(e)}}}function g(e,n,a,f){var c=e[0],t=e[1],r=n[0],d=n[1];return t<c?(c=a(t,c),r=f(d,r)):(c=a(c,t),r=f(r,d)),function(e){return r(c(e))}}function p(e,a,f,c){var t=Math.min(e.length,a.length)-1,r=new Array(t),d=new Array(t),i=-1;for(e[t]<e[0]&&(e=e.slice().reverse(),a=a.slice().reverse());++i<t;)r[i]=f(e[i],e[i+1]),d[i]=c(a[i],a[i+1]);return function(a){var f=n.bisect(e,a,1,t)-1;return d[f](r[f](a))}}function m(e,n){return n.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp())}function M(e,n){function a(){return t=Math.min(i.length,u.length)>2?p:g,r=d=null,c}function c(n){return(r||(r=t(i,u,o?h(e):e,b)))(+n)}var t,r,d,i=z,u=z,b=f.interpolate,o=!1;return c.invert=function(e){return(d||(d=t(u,i,l,o?s(n):n)))(+e)},c.domain=function(e){return arguments.length?(i=j.call(e,_),a()):i.slice()},c.range=function(e){return arguments.length?(u=B.call(e),a()):u.slice()},c.rangeRound=function(e){return u=B.call(e),b=f.interpolateRound,a()},c.clamp=function(e){return arguments.length?(o=!!e,a()):o},c.interpolate=function(e){return arguments.length?(b=e,a()):b},a()}function v(e){var a=e.domain;return e.ticks=function(e){var f=a();return n.ticks(f[0],f[f.length-1],null==e?10:e)},e.tickFormat=function(e,n){return V(a(),e,n)},e.nice=function(f){var c=a(),t=c.length-1,r=null==f?10:f,d=c[0],i=c[t],u=n.tickStep(d,i,r);return u&&(u=n.tickStep(Math.floor(d/u)*u,Math.ceil(i/u)*u,r),c[0]=Math.floor(d/u)*u,c[t]=Math.ceil(i/u)*u,a(c)),e},e}function x(){var e=M(l,f.interpolateNumber);return e.copy=function(){return m(e,x())},v(e)}function y(){function e(e){return+e}var n=[0,1];return e.invert=e,e.domain=e.range=function(a){return arguments.length?(n=j.call(a,_),e):n.slice()},e.copy=function(){return y().domain(n)},v(e)}function w(e,n){return(n=Math.log(n/e))?function(a){return Math.log(a/e)/n}:Q(n)}function k(e,n){return e<0?function(a){return-Math.pow(-n,a)*Math.pow(-e,1-a)}:function(a){return Math.pow(n,a)*Math.pow(e,1-a)}}function N(e){return isFinite(e)?+("1e"+e):e<0?0:e}function q(e){return 10===e?N:e===Math.E?Math.exp:function(n){return Math.pow(e,n)}}function C(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 D(e){return function(n){return-e(-n)}}function S(){function e(){return r=C(t),d=q(t),f()[0]<0&&(r=D(r),d=D(d)),a}var a=M(w,k).domain([1,10]),f=a.domain,t=10,r=C(10),d=q(10);return a.base=function(n){return arguments.length?(t=+n,e()):t},a.domain=function(n){return arguments.length?(f(n),e()):f()},a.ticks=function(e){var a,c=f(),i=c[0],u=c[c.length-1];(a=u<i)&&(h=i,i=u,u=h);var b,o,l,h=r(i),s=r(u),g=null==e?10:+e,p=[];if(!(t%1)&&s-h<g){if(h=Math.round(h)-1,s=Math.round(s)+1,i>0){for(;h<s;++h)for(o=1,b=d(h);o<t;++o)if(l=b*o,!(l<i)){if(l>u)break;p.push(l)}}else for(;h<s;++h)for(o=t-1,b=d(h);o>=1;--o)if(l=b*o,!(l<i)){if(l>u)break;p.push(l)}}else p=n.ticks(h,s,Math.min(s-h,g)).map(d);return a?p.reverse():p},a.tickFormat=function(e,n){if(null==n&&(n=10===t?".0e":","),"function"!=typeof n&&(n=c.format(n)),e===1/0)return n;null==e&&(e=10);var f=Math.max(1,t*e/a.ticks().length);return function(e){var a=e/d(Math.round(r(e)));return a*t<t-.5&&(a*=t),a<=f?n(e):""}},a.nice=function(){return f(G(f(),{floor:function(e){return d(Math.floor(r(e)))},ceil:function(e){return d(Math.ceil(r(e)))}}))},a.copy=function(){return m(a,S().base(t))},a}function I(e,n){return e<0?-Math.pow(-e,n):Math.pow(e,n)}function O(){function e(e,n){return(n=I(n,a)-(e=I(e,a)))?function(f){return(I(f,a)-e)/n}:Q(n)}function n(e,n){return n=I(n,a)-(e=I(e,a)),function(f){return I(e+n*f,1/a)}}var a=1,f=M(e,n),c=f.domain;return f.exponent=function(e){return arguments.length?(a=+e,c(c())):a},f.copy=function(){return m(f,O().exponent(a))},v(f)}function F(){return O().exponent(.5)}function L(){function e(){var e=0,r=Math.max(1,c.length);for(t=new Array(r-1);++e<r;)t[e-1]=n.quantile(f,e/r);return a}function a(e){if(!isNaN(e=+e))return c[n.bisect(t,e)]}var f=[],c=[],t=[];return a.invertExtent=function(e){var n=c.indexOf(e);return n<0?[NaN,NaN]:[n>0?t[n-1]:f[0],n<t.length?t[n]:f[f.length-1]]},a.domain=function(a){if(!arguments.length)return f.slice();f=[];for(var c,t=0,r=a.length;t<r;++t)c=a[t],null==c||isNaN(c=+c)||f.push(c);return f.sort(n.ascending),e()},a.range=function(n){return arguments.length?(c=B.call(n),e()):c.slice()},a.quantiles=function(){return t.slice()},a.copy=function(){return L().domain(f).range(c)},a}function P(){function e(e){if(e<=e)return d[n.bisect(r,e,0,t)]}function a(){var n=-1;for(r=new Array(t);++n<t;)r[n]=((n+1)*c-(n-t)*f)/(t+1);return e}var f=0,c=1,t=1,r=[.5],d=[0,1];return e.domain=function(e){return arguments.length?(f=+e[0],c=+e[1],a()):[f,c]},e.range=function(e){return arguments.length?(t=(d=B.call(e)).length-1,a()):d.slice()},e.invertExtent=function(e){var n=d.indexOf(e);return n<0?[NaN,NaN]:n<1?[f,r[0]]:n>=t?[r[t-1],c]:[r[n-1],r[n]]},e.copy=function(){return P().domain([f,c]).range(d)},v(e)}function A(){function e(e){if(e<=e)return f[n.bisect(a,e,0,c)]}var a=[.5],f=[0,1],c=1;return e.domain=function(n){return arguments.length?(a=B.call(n),c=Math.min(a.length,f.length-1),e):a.slice()},e.range=function(n){return arguments.length?(f=B.call(n),c=Math.min(a.length,f.length-1),e):f.slice()},e.invertExtent=function(e){var n=f.indexOf(e);return[a[n-1],a[n]]},e.copy=function(){return A().domain(a).range(f)},e}function E(e){return new Date(e)}function R(e){return e instanceof Date?+e:+new Date(+e)}function T(e,a,c,t,r,d,i,u,b){function o(n){return(i(n)<n?v:d(n)<n?x:r(n)<n?y:t(n)<n?w:a(n)<n?c(n)<n?k:N:e(n)<n?q:C)(n)}function h(a,f,c,t){if(null==a&&(a=10),"number"==typeof a){var r=Math.abs(c-f)/a,d=n.bisector(function(e){return e[2]}).right(D,r);d===D.length?(t=n.tickStep(f/ne,c/ne,a),a=e):d?(d=D[r/D[d-1][2]<D[d][2]/r?d-1:d],t=d[1],a=d[0]):(t=n.tickStep(f,c,a),a=u)}return null==t?a:a.every(t)}var s=M(l,f.interpolateNumber),g=s.invert,p=s.domain,v=b(".%L"),x=b(":%S"),y=b("%I:%M"),w=b("%I %p"),k=b("%a %d"),N=b("%b %d"),q=b("%B"),C=b("%Y"),D=[[i,1,J],[i,5,5*J],[i,15,15*J],[i,30,30*J],[d,1,K],[d,5,5*K],[d,15,15*K],[d,30,30*K],[r,1,X],[r,3,3*X],[r,6,6*X],[r,12,12*X],[t,1,Z],[t,2,2*Z],[c,1,$],[a,1,ee],[a,3,3*ee],[e,1,ne]];return s.invert=function(e){return new Date(g(e))},s.domain=function(e){return arguments.length?p(j.call(e,R)):p().map(E)},s.ticks=function(e,n){var a,f=p(),c=f[0],t=f[f.length-1],r=t<c;return r&&(a=c,c=t,t=a),a=h(e,c,t,n),a=a?a.range(c,t+1):[],r?a.reverse():a},s.tickFormat=function(e,n){return null==n?o:b(n)},s.nice=function(e,n){var a=p();return(e=h(e,a[0],a[a.length-1],n))?p(G(a,e)):s},s.copy=function(){return m(s,T(e,a,c,t,r,d,i,u,b))},s}function U(e){var n=e.length;return function(a){return e[Math.max(0,Math.min(n-1,Math.floor(a*n)))]}}function W(e){function n(n){var t=(n-a)/(f-a);return e(c?Math.max(0,Math.min(1,t)):t)}var a=0,f=1,c=!1;return n.domain=function(e){return arguments.length?(a=+e[0],f=+e[1],n):[a,f]},n.clamp=function(e){return arguments.length?(c=!!e,n):c},n.interpolator=function(a){return arguments.length?(e=a,n):e},n.copy=function(){return W(e).domain([a,f]).clamp(c)},v(n)}var Y=Array.prototype,j=Y.map,B=Y.slice,H={name:"implicit"},Q=function(e){return function(){return e}},_=function(e){return+e},z=[0,1],V=function(e,a,f){var t,r=e[0],d=e[e.length-1],i=n.tickStep(r,d,null==a?10:a);switch(f=c.formatSpecifier(null==f?",f":f),f.type){case"s":var u=Math.max(Math.abs(r),Math.abs(d));return null!=f.precision||isNaN(t=c.precisionPrefix(i,u))||(f.precision=t),c.formatPrefix(f,u);case"":case"e":case"g":case"p":case"r":null!=f.precision||isNaN(t=c.precisionRound(i,Math.max(Math.abs(r),Math.abs(d))))||(f.precision=t-("e"===f.type));break;case"f":case"%":null!=f.precision||isNaN(t=c.precisionFixed(i))||(f.precision=t-2*("%"===f.type))}return c.format(f)},G=function(e,n){e=e.slice();var a,f=0,c=e.length-1,t=e[f],r=e[c];return r<t&&(a=f,f=c,c=a,a=t,t=r,r=a),e[f]=n.floor(t),e[c]=n.ceil(r),e},J=1e3,K=60*J,X=60*K,Z=24*X,$=7*Z,ee=30*Z,ne=365*Z,ae=function(){return T(t.timeYear,t.timeMonth,t.timeWeek,t.timeDay,t.timeHour,t.timeMinute,t.timeSecond,t.timeMillisecond,r.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])},fe=function(){return T(t.utcYear,t.utcMonth,t.utcWeek,t.utcDay,t.utcHour,t.utcMinute,t.utcSecond,t.utcMillisecond,r.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])},ce=function(e){return e.match(/.{6}/g).map(function(e){return"#"+e})},te=ce("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),re=ce("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),de=ce("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),ie=ce("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),ue=f.interpolateCubehelixLong(d.cubehelix(300,.5,0),d.cubehelix(-240,.5,1)),be=f.interpolateCubehelixLong(d.cubehelix(-100,.75,.35),d.cubehelix(80,1.5,.8)),oe=f.interpolateCubehelixLong(d.cubehelix(260,.75,.35),d.cubehelix(80,1.5,.8)),le=d.cubehelix(),he=function(e){(e<0||e>1)&&(e-=Math.floor(e));var n=Math.abs(e-.5);return le.h=360*e-100,le.s=1.5-1.5*n,le.l=.8-.9*n,le+""},se=U(ce("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),ge=U(ce("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),pe=U(ce("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),me=U(ce("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));e.scaleBand=u,e.scalePoint=o,e.scaleIdentity=y,e.scaleLinear=x,e.scaleLog=S,e.scaleOrdinal=i,e.scaleImplicit=H,e.scalePow=O,e.scaleSqrt=F,e.scaleQuantile=L,e.scaleQuantize=P,e.scaleThreshold=A,e.scaleTime=ae,e.scaleUtc=fe,e.schemeCategory10=te,e.schemeCategory20b=re,e.schemeCategory20c=de,e.schemeCategory20=ie,e.interpolateCubehelixDefault=ue,e.interpolateRainbow=he,e.interpolateWarm=be,e.interpolateCool=oe,e.interpolateViridis=se,e.interpolateMagma=ge,e.interpolateInferno=pe,e.interpolatePlasma=me,e.scaleSequential=W,Object.defineProperty(e,"__esModule",{value:!0})});
{
"name": "d3-scale",
"version": "1.0.3",
"version": "1.0.4",
"description": "Encodings that map abstract data to visual representation.",

@@ -40,5 +40,5 @@ "keywords": [

"devDependencies": {
"eslint": "2",
"eslint": "3",
"package-preamble": "0.0",
"rollup": "0.34",
"rollup": "0.36",
"tape": "4",

@@ -45,0 +45,0 @@ "uglify-js": "2"

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc