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 0.1.5 to 0.2.0

2

build/bundle.js

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

var version = "0.1.5"; export * from "../index"; export {version};
var version = "0.2.0"; export * from "../index"; export {version};
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-color'), require('d3-arrays'), require('d3-interpolate'), require('d3-format'), require('d3-time-format'), require('d3-time')) :
typeof define === 'function' && define.amd ? define('d3-scale', ['exports', 'd3-color', 'd3-arrays', 'd3-interpolate', 'd3-format', 'd3-time-format', 'd3-time'], factory) :
factory((global.d3_scale = {}),global.d3_color,global.d3_arrays,global.d3_interpolate,global.d3_format,global.d3_time_format,global.d3_time);
}(this, function (exports,d3Color,d3Arrays,d3Interpolate,d3Format,d3TimeFormat,d3Time) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('d3-color'), require('d3-interpolate'), require('d3-arrays'), require('d3-format'), require('d3-time-format'), require('d3-time')) :
typeof define === 'function' && define.amd ? define('d3-scale', ['exports', 'd3-color', 'd3-interpolate', 'd3-arrays', 'd3-format', 'd3-time-format', 'd3-time'], factory) :
factory((global.d3_scale = {}),global.d3_color,global.d3_interpolate,global.d3_arrays,global.d3_format,global.d3_time_format,global.d3_time);
}(this, function (exports,d3Color,d3Interpolate,d3Arrays,d3Format,d3TimeFormat,d3Time) { 'use strict';

@@ -217,3 +217,3 @@ function steps(length, start, step) {

function tickFormat$2(domain, count, specifier) {
function tickFormat(domain, count, specifier) {
var range = tickRange(domain, count);

@@ -300,3 +300,3 @@ if (specifier == null) {

output = linear(domain, range, uninterpolate, interpolate);
input = linear(range, domain, uninterpolate, d3Interpolate.interpolateNumber);
input = linear(range, domain, uninterpolate, d3Interpolate.number);
return scale;

@@ -326,3 +326,3 @@ }

scale.rangeRound = function(x) {
return scale.range(x).interpolate(d3Interpolate.interpolateRound);
return scale.range(x).interpolate(d3Interpolate.round);
};

@@ -347,3 +347,3 @@

scale.tickFormat = function(count, specifier) {
return tickFormat$2(domain, count, specifier);
return tickFormat(domain, count, specifier);
};

@@ -388,3 +388,3 @@

function linear() {
return newLinear([0, 1], [0, 1], d3Interpolate.interpolate, false);
return newLinear([0, 1], [0, 1], d3Interpolate.value, false);
};

@@ -394,3 +394,3 @@

return linear()
.interpolate(d3Color.interpolateCubehelixLong)
.interpolate(d3Interpolate.cubehelixLong)
.range([d3Color.cubehelix(300, 0.5, 0.0), d3Color.cubehelix(-240, 0.5, 1.0)]);

@@ -418,3 +418,3 @@ };

scale.tickFormat = function(count, specifier) {
return tickFormat$2(domain, count, specifier);
return tickFormat(domain, count, specifier);
};

@@ -558,3 +558,3 @@

scale.tickFormat = function(count, specifier) {
return tickFormat$2(domain, count, specifier);
return tickFormat(domain, count, specifier);
};

@@ -678,3 +678,3 @@

return linear()
.interpolate(d3Color.interpolateCubehelixLong)
.interpolate(d3Interpolate.cubehelixLong)
.domain([0, 0.5, 1.0])

@@ -717,2 +717,10 @@ .range([d3Color.cubehelix(-100, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8), d3Color.cubehelix(260, 0.75, 0.35)]);

var millisecondsPerSecond = 1000;
var millisecondsPerMinute = millisecondsPerSecond * 60;
var millisecondsPerHour = millisecondsPerMinute * 60;
var millisecondsPerDay = millisecondsPerHour * 24;
var millisecondsPerWeek = millisecondsPerDay * 7;
var millisecondsPerMonth = millisecondsPerDay * 30;
var millisecondsPerYear = millisecondsPerDay * 365;
var bisectTickIntervals = d3Arrays.bisector(function(method) { return method[2]; }).right;
function newDate(t) {

@@ -722,4 +730,33 @@ return new Date(t);

function newTime(linear, timeInterval, tickFormat, format) {
function newTime(linear, year, month, week, day, hour, minute, second, millisecond, format) {
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, millisecondsPerSecond],
[second, 5, 5 * millisecondsPerSecond],
[second, 15, 15 * millisecondsPerSecond],
[second, 30, 30 * millisecondsPerSecond],
[minute, 1, millisecondsPerMinute],
[minute, 5, 5 * millisecondsPerMinute],
[minute, 15, 15 * millisecondsPerMinute],
[minute, 30, 30 * millisecondsPerMinute],
[ hour, 1, millisecondsPerHour ],
[ hour, 3, 3 * millisecondsPerHour ],
[ hour, 6, 6 * millisecondsPerHour ],
[ hour, 12, 12 * millisecondsPerHour ],
[ day, 1, millisecondsPerDay ],
[ day, 2, 2 * millisecondsPerDay ],
[ week, 1, millisecondsPerWeek ],
[ month, 1, millisecondsPerMonth ],
[ month, 3, 3 * millisecondsPerMonth ],
[ year, 1, millisecondsPerYear ]
];
function scale(x) {

@@ -739,2 +776,12 @@ return linear(x);

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) {

@@ -745,12 +792,20 @@ if (interval == null) interval = 10;

// based on the extent of the domain and a rough estimate of tick size.
// If a named interval such as "seconds" was specified, convert to the
// corresponding time interval and optionally filter using the step.
// Otherwise, assume interval is already a time interval and use it.
switch (typeof interval) {
case "number": interval = chooseTickInterval(start, stop, interval), step = interval[1], interval = interval[0]; break;
case "string": step = step == null ? 1 : Math.floor(step); break;
default: return interval;
if (typeof interval === "number") {
var target = Math.abs(stop - start) / interval,
i = bisectTickIntervals(tickIntervals, target);
if (i === tickIntervals.length) {
step = tickRange([start / millisecondsPerYear, stop / millisecondsPerYear], interval)[2];
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 = tickRange([start, stop], interval)[2];
interval = millisecond;
}
}
return isFinite(step) && step > 0 ? timeInterval(interval, step) : null;
return step == null ? interval : interval.every(step);
}

@@ -798,3 +853,3 @@

scale.copy = function() {
return newTime(linear.copy(), timeInterval, tickFormat, format);
return newTime(linear.copy(), year, month, week, day, hour, minute, second, millisecond, format);
};

@@ -805,121 +860,11 @@

var millisecondsPerSecond = 1000;
var millisecondsPerMinute = millisecondsPerSecond * 60;
var millisecondsPerHour = millisecondsPerMinute * 60;
var millisecondsPerDay = millisecondsPerHour * 24;
var millisecondsPerWeek = millisecondsPerDay * 7;
var millisecondsPerMonth = millisecondsPerDay * 30;
var millisecondsPerYear = millisecondsPerDay * 365;
var tickIntervals = [
["seconds", 1, millisecondsPerSecond],
["seconds", 5, 5 * millisecondsPerSecond],
["seconds", 15, 15 * millisecondsPerSecond],
["seconds", 30, 30 * millisecondsPerSecond],
["minutes", 1, millisecondsPerMinute],
["minutes", 5, 5 * millisecondsPerMinute],
["minutes", 15, 15 * millisecondsPerMinute],
["minutes", 30, 30 * millisecondsPerMinute],
[ "hours", 1, millisecondsPerHour ],
[ "hours", 3, 3 * millisecondsPerHour ],
[ "hours", 6, 6 * millisecondsPerHour ],
[ "hours", 12, 12 * millisecondsPerHour ],
[ "days", 1, millisecondsPerDay ],
[ "days", 2, 2 * millisecondsPerDay ],
[ "weeks", 1, millisecondsPerWeek ],
[ "months", 1, millisecondsPerMonth ],
[ "months", 3, 3 * millisecondsPerMonth ],
[ "years", 1, millisecondsPerYear ]
];
var bisectTickIntervals = d3Arrays.bisector(function(method) {
return method[2];
}).right;
function chooseTickInterval(start, stop, count) {
var target = Math.abs(stop - start) / count,
i = bisectTickIntervals(tickIntervals, target);
return i === tickIntervals.length ? ["years", tickRange([start / millisecondsPerYear, stop / millisecondsPerYear], count)[2]]
: i ? tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i]
: ["milliseconds", tickRange([start, stop], count)[2]];
}
var formatMillisecond = d3TimeFormat.format(".%L");
var formatSecond = d3TimeFormat.format(":%S");
var formatMinute = d3TimeFormat.format("%I:%M");
var formatHour = d3TimeFormat.format("%I %p");
var formatDay = d3TimeFormat.format("%a %d");
var formatWeek = d3TimeFormat.format("%b %d");
var formatMonth = d3TimeFormat.format("%B");
var formatYear = d3TimeFormat.format("%Y");
function tickFormat(date) {
return (d3Time.second(date) < date ? formatMillisecond
: d3Time.minute(date) < date ? formatSecond
: d3Time.hour(date) < date ? formatMinute
: d3Time.day(date) < date ? formatHour
: d3Time.month(date) < date ? (d3Time.week(date) < date ? formatDay : formatWeek)
: d3Time.year(date) < date ? formatMonth
: formatYear)(date);
}
function millisecond(step) {
return {
range: function(start, stop) { return d3Arrays.range(Math.ceil(start / step) * step, stop, step).map(newDate); },
floor: function(date) { return newDate(Math.floor(date / step) * step); },
ceil: function(date) { return newDate(Math.ceil(date / step) * step); }
};
};
function timeInterval(interval, step) {
switch (interval) {
case "milliseconds": return millisecond(step);
case "seconds": return step > 1 ? d3Time.second.filter(function(d) { return d.getSeconds() % step === 0; }) : d3Time.second;
case "minutes": return step > 1 ? d3Time.minute.filter(function(d) { return d.getMinutes() % step === 0; }) : d3Time.minute;
case "hours": return step > 1 ? d3Time.hour.filter(function(d) { return d.getHours() % step === 0; }) : d3Time.hour;
case "days": return step > 1 ? d3Time.day.filter(function(d) { return (d.getDate() - 1) % step === 0; }) : d3Time.day;
case "weeks": return step > 1 ? d3Time.week.filter(function(d) { return d3Time.week.count(0, d) % step === 0; }) : d3Time.week;
case "months": return step > 1 ? d3Time.month.filter(function(d) { return d.getMonth() % step === 0; }) : d3Time.month;
case "years": return step > 1 ? d3Time.year.filter(function(d) { return d.getFullYear() % step === 0; }) : d3Time.year;
}
}
function time() {
return newTime(linear(), timeInterval, tickFormat, d3TimeFormat.format).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);
return newTime(linear(), d3Time.year, d3Time.month, d3Time.week, d3Time.day, d3Time.hour, d3Time.minute, d3Time.second, d3Time.millisecond, d3TimeFormat.format).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);
};
var formatUTCMillisecond = d3TimeFormat.utcFormat(".%L");
var formatUTCSecond = d3TimeFormat.utcFormat(":%S");
var formatUTCMinute = d3TimeFormat.utcFormat("%I:%M");
var formatUTCHour = d3TimeFormat.utcFormat("%I %p");
var formatUTCDay = d3TimeFormat.utcFormat("%a %d");
var formatUTCWeek = d3TimeFormat.utcFormat("%b %d");
var formatUTCMonth = d3TimeFormat.utcFormat("%B");
var formatUTCYear = d3TimeFormat.utcFormat("%Y");
function tickFormat$1(date) {
return (d3Time.utcSecond(date) < date ? formatUTCMillisecond
: d3Time.utcMinute(date) < date ? formatUTCSecond
: d3Time.utcHour(date) < date ? formatUTCMinute
: d3Time.utcDay(date) < date ? formatUTCHour
: d3Time.utcMonth(date) < date ? (d3Time.utcWeek(date) < date ? formatUTCDay : formatUTCWeek)
: d3Time.utcYear(date) < date ? formatUTCMonth
: formatUTCYear)(date);
}
function timeInterval$1(interval, step) {
switch (interval) {
case "milliseconds": return millisecond(step);
case "seconds": return step > 1 ? d3Time.utcSecond.filter(function(d) { return d.getUTCSeconds() % step === 0; }) : d3Time.utcSecond;
case "minutes": return step > 1 ? d3Time.utcMinute.filter(function(d) { return d.getUTCMinutes() % step === 0; }) : d3Time.utcMinute;
case "hours": return step > 1 ? d3Time.utcHour.filter(function(d) { return d.getUTCHours() % step === 0; }) : d3Time.utcHour;
case "days": return step > 1 ? d3Time.utcDay.filter(function(d) { return (d.getUTCDate() - 1) % step === 0; }) : d3Time.utcDay;
case "weeks": return step > 1 ? d3Time.utcWeek.filter(function(d) { return d3Time.utcWeek.count(0, d) % step === 0; }) : d3Time.utcWeek;
case "months": return step > 1 ? d3Time.utcMonth.filter(function(d) { return d.getUTCMonth() % step === 0; }) : d3Time.utcMonth;
case "years": return step > 1 ? d3Time.utcYear.filter(function(d) { return d.getUTCFullYear() % step === 0; }) : d3Time.utcYear;
}
}
function utcTime() {
return newTime(linear(), timeInterval$1, tickFormat$1, d3TimeFormat.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);
return newTime(linear(), 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 version = "0.1.5";
var version = "0.2.0";

@@ -926,0 +871,0 @@ exports.version = version;

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

!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("d3-color"),require("d3-arrays"),require("d3-interpolate"),require("d3-format"),require("d3-time-format"),require("d3-time")):"function"==typeof define&&define.amd?define("d3-scale",["exports","d3-color","d3-arrays","d3-interpolate","d3-format","d3-time-format","d3-time"],t):t(n.d3_scale={},n.d3_color,n.d3_arrays,n.d3_interpolate,n.d3_format,n.d3_time_format,n.d3_time)}(this,function(n,t,e,r,u,i,o){"use strict";function a(n,t,e){for(var r=new Array(n),u=-1;++u<n;)r[u]=t+e*u;return r}function c(n,t){function r(e){var r=e+"",o=u.get(r);if(!o){if("range"!==t.t)return;u.set(r,o=n.push(e))}return i[(o-1)%i.length]}var u,i,o;return r.domain=function(i){if(!arguments.length)return n.slice();n=[],u=e.map();for(var o,a,c=-1,f=i.length;++c<f;)u.has(a=(o=i[c])+"")||u.set(a,n.push(o));return r[t.t].apply(r,t.a)},r.range=function(n){return arguments.length?(i=n.slice(),o=0,t={t:"range",a:arguments},r):i.slice()},r.rangePoints=function(e,u){u=arguments.length<2?0:+u;var c=+e[0],f=+e[1],s=n.length<2?(c=(c+f)/2,0):(f-c)/(n.length-1+u);return i=a(n.length,c+s*u/2,s),o=0,t={t:"rangePoints",a:arguments},r},r.rangeRoundPoints=function(e,u){u=arguments.length<2?0:+u;var c=+e[0],f=+e[1],s=n.length<2?(c=f=Math.round((c+f)/2),0):(f-c)/(n.length-1+u)|0;return i=a(n.length,c+Math.round(s*u/2+(f-c-(n.length-1+u)*s)/2),s),o=0,t={t:"rangeRoundPoints",a:arguments},r},r.rangeBands=function(e,u,c){u=arguments.length<2?0:+u,c=arguments.length<3?u:+c;var f=+e[1]<+e[0],s=+e[f-0],l=+e[1-f],h=(l-s)/(n.length-u+2*c);return i=a(n.length,s+h*c,h),f&&i.reverse(),o=h*(1-u),t={t:"rangeBands",a:arguments},r},r.rangeRoundBands=function(e,u,c){u=arguments.length<2?0:+u,c=arguments.length<3?u:+c;var f=+e[1]<+e[0],s=+e[f-0],l=+e[1-f],h=Math.floor((l-s)/(n.length-u+2*c));return i=a(n.length,s+Math.round((l-s-(n.length-u)*h)/2),h),f&&i.reverse(),o=Math.round(h*(1-u)),t={t:"rangeRoundBands",a:arguments},r},r.rangeBand=function(){return o},r.rangeExtent=function(){var n=t.a[0],e=n[0],r=n[n.length-1];return e>r&&(n=r,r=e,e=n),[e,r]},r.copy=function(){return c(n,t)},r.domain(n)}function f(){return c([],{t:"range",a:[[]]})}function s(){return f().range(["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"])}function l(){return f().range(["#393b79","#5254a3","#6b6ecf","#9c9ede","#637939","#8ca252","#b5cf6b","#cedb9c","#8c6d31","#bd9e39","#e7ba52","#e7cb94","#843c39","#ad494a","#d6616b","#e7969c","#7b4173","#a55194","#ce6dbd","#de9ed6"])}function h(){return f().range(["#3182bd","#6baed6","#9ecae1","#c6dbef","#e6550d","#fd8d3c","#fdae6b","#fdd0a2","#31a354","#74c476","#a1d99b","#c7e9c0","#756bb1","#9e9ac8","#bcbddc","#dadaeb","#636363","#969696","#bdbdbd","#d9d9d9"])}function g(){return f().range(["#1f77b4","#aec7e8","#ff7f0e","#ffbb78","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5","#8c564b","#c49c94","#e377c2","#f7b6d2","#7f7f7f","#c7c7c7","#bcbd22","#dbdb8d","#17becf","#9edae5"])}function d(n,t){if(n=n.slice(),!t)return n;var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=Math.floor(i/t)*t,n[u]=Math.ceil(o/t)*t,n}function m(n,t){null==t&&(t=10);var e=n[0],r=n[n.length-1];e>r&&(o=r,r=e,e=o);var u=r-e,i=Math.pow(10,Math.floor(Math.log(u/t)/Math.LN10)),o=u/t/i;return o>=V?i*=10:o>=X?i*=5:o>=Z&&(i*=2),[Math.ceil(e/i)*i,Math.floor(r/i)*i+i/2,i]}function p(n,t){return e.range.apply(null,m(n,t))}function b(n,t,e){var r=m(n,t);if(null==e)e=",."+u.precisionFixed(r[2])+"f";else switch(e=u.formatSpecifier(e),e.type){case"s":var i=Math.max(Math.abs(r[0]),Math.abs(r[1]));return null==e.precision&&(e.precision=u.precisionPrefix(r[2],i)),u.formatPrefix(e,i);case"":case"e":case"g":case"p":case"r":null==e.precision&&(e.precision=u.precisionRound(r[2],Math.max(Math.abs(r[0]),Math.abs(r[1])))-("e"===e.type));break;case"f":case"%":null==e.precision&&(e.precision=u.precisionFixed(r[2])-2*("%"===e.type))}return u.format(e)}function M(n,t){return t=(t-=n=+n)||1/t,function(e){return Math.max(0,Math.min(1,(e-n)/t))}}function y(n,t){return t=(t-=n=+n)||1/t,function(e){return(e-n)/t}}function v(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function x(n,t,r,u){var i=Math.min(n.length,t.length)-1,o=new Array(i),a=new Array(i),c=-1;for(n[i]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++c<i;)o[c]=r(n[c],n[c+1]),a[c]=u(t[c],t[c+1]);return function(t){var r=e.bisect(n,t,1,i)-1;return a[r](o[r](t))}}function w(n,t,e,u){function i(){var i=Math.min(n.length,t.length)>2?x:v,f=u?M:y;return a=i(n,t,f,e),c=i(t,n,f,r.interpolateNumber),o}function o(n){return a(n)}var a,c;return o.invert=function(n){return c(n)},o.domain=function(t){return arguments.length?(n=t.map(Number),i()):n.slice()},o.range=function(n){return arguments.length?(t=n.slice(),i()):t.slice()},o.rangeRound=function(n){return o.range(n).interpolate(r.interpolateRound)},o.clamp=function(n){return arguments.length?(u=!!n,i()):u},o.interpolate=function(n){return arguments.length?(e=n,i()):e},o.ticks=function(t){return p(n,t)},o.tickFormat=function(t,e){return b(n,t,e)},o.nice=function(t){return n=d(n,m(n,t)[2]),i()},o.copy=function(){return w(n,t,e,u)},i()}function k(n,t){return n.range=function(){var e=t.range.apply(t,arguments);return e===t?n:e},n.rangeRound=function(){var e=t.rangeRound.apply(t,arguments);return e===t?n:e},n.clamp=function(){var e=t.clamp.apply(t,arguments);return e===t?n:e},n.interpolate=function(){var e=t.interpolate.apply(t,arguments);return e===t?n:e},n}function F(){return w([0,1],[0,1],r.interpolate,!1)}function N(){return F().interpolate(t.interpolateCubehelixLong).range([t.cubehelix(300,.5,0),t.cubehelix(-240,.5,1)])}function q(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(Number),t):n.slice()},t.ticks=function(t){return p(n,t)},t.tickFormat=function(t,e){return b(n,t,e)},t.copy=function(){return q(n)},t}function C(){return q([0,1])}function D(n,t,e){function r(n){return(e[0]<0?-Math.log(n>0?0:-n):Math.log(0>n?0:n))/Math.log(t)}function i(n){return e[0]<0?-Math.pow(t,-n):Math.pow(t,n)}function o(t){return n(r(t))}return o.invert=function(t){return i(n.invert(t))},o.base=function(n){return arguments.length?(t=+n,o.domain(e)):t},o.domain=function(t){return arguments.length?(e=t.map(Number),n.domain(e.map(r)),o):e.slice()},o.nice=function(){var t=d(n.domain(),1);return n.domain(t),e=t.map(i),o},o.ticks=function(){var n=e[0],u=e[e.length-1];n>u&&(c=n,n=u,u=c);var o,a,c=Math.floor(r(n)),f=Math.ceil(r(u)),s=t%1?2:t,l=[];if(isFinite(f-c))if(n>0){for(--f,o=1;s>o;++o){if((a=i(c)*o)<n)continue;l.push(a)}for(;++c<f;)for(o=1;s>o;++o)l.push(i(c)*o);for(o=1;s>o&&!((a=i(c)*o)>u);++o)l.push(a)}else{for(++c,o=s-1;o>=1;--o){if((a=i(c)*o)<n)continue;l.push(a)}for(;++c<f;)for(o=s-1;o>=1;--o)l.push(i(c)*o);for(o=s-1;o>=1&&!((a=i(c)*o)>u);--o)l.push(a)}return l},o.tickFormat=function(n,a){if(null==a?a=10===t?$:nn:"function"!=typeof a&&(a=u.format(a)),null==n)return a;var c,f=Math.min(t,o.ticks().length/n),s=e[0]>0?(c=1e-12,Math.ceil):(c=-1e-12,Math.floor);return function(n){return i(s(r(n)+c))/n>=f?a(n):""}},o.copy=function(){return D(n.copy(),t,e)},k(o,n)}function R(){return D(F(),10,[1,10])}function T(n,t,e){function r(n){return 0>n?-Math.pow(-n,t):Math.pow(n,t)}function u(n){return 0>n?-Math.pow(-n,1/t):Math.pow(n,1/t)}function i(t){return n(r(t))}return i.invert=function(t){return u(n.invert(t))},i.exponent=function(n){return arguments.length?(t=+n,i.domain(e)):t},i.domain=function(t){return arguments.length?(e=t.map(Number),n.domain(e.map(r)),i):e.slice()},i.ticks=function(n){return p(e,n)},i.tickFormat=function(n,t){return b(e,n,t)},i.nice=function(n){return i.domain(d(e,m(e,n)[2]))},i.copy=function(){return T(n.copy(),t,e)},k(i,n)}function S(){return T(F(),.5,[0,1])}function U(){return T(F(),1,[0,1])}function _(n,t){function r(){var r=0,o=t.length;for(i=[];++r<o;)i[r-1]=e.quantile(n,r/o);return u}function u(n){return isNaN(n=+n)?void 0:t[e.bisect(i,n)]}var i;return u.domain=function(t){if(!arguments.length)return n;n=[];for(var u,i=0,o=t.length;o>i;++i)u=t[i],null==u||isNaN(u=+u)||n.push(u);return n.sort(e.ascending),r()},u.range=function(n){return arguments.length?(t=n.slice(),r()):t.slice()},u.quantiles=function(){return i},u.invertExtent=function(e){return e=t.indexOf(e),0>e?[NaN,NaN]:[e>0?i[e-1]:n[0],e<i.length?i[e]:n[n.length-1]]},u.copy=function(){return _(n,t)},r()}function B(){return _([],[])}function Y(n,t,e){function r(t){return e[Math.max(0,Math.min(o,Math.floor(i*(t-n))))]}function u(){return i=e.length/(t-n),o=e.length-1,r}var i,o;return r.domain=function(e){return arguments.length?(n=+e[0],t=+e[e.length-1],u()):[n,t]},r.range=function(n){return arguments.length?(e=n.slice(),u()):e.slice()},r.invertExtent=function(t){return t=e.indexOf(t),t=0>t?NaN:t/i+n,[t,t+1/i]},r.copy=function(){return Y(n,t,e)},u()}function P(){return Y(0,1,[0,1])}function H(){return F().interpolate(t.interpolateCubehelixLong).domain([0,.5,1]).range([t.cubehelix(-100,.75,.35),t.cubehelix(80,1.5,.8),t.cubehelix(260,.75,.35)])}function L(n,t,r){function u(u){return u>=u?t[e.bisect(n,u,0,r)]:void 0}return u.domain=function(e){return arguments.length?(n=e.slice(),r=Math.min(n.length,t.length-1),u):n.slice()},u.range=function(e){return arguments.length?(t=e.slice(),r=Math.min(n.length,t.length-1),u):t.slice()},u.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},u.copy=function(){return L(n,t)},u}function E(){return L([.5],[0,1],1)}function I(n){return new Date(n)}function W(n,t,e,r){function u(t){return n(t)}function i(n,e,r,u){switch(null==n&&(n=10),typeof n){case"number":n=A(e,r,n),u=n[1],n=n[0];break;case"string":u=null==u?1:Math.floor(u);break;default:return n}return isFinite(u)&&u>0?t(n,u):null}return u.invert=function(t){return I(n.invert(t))},u.domain=function(t){return arguments.length?(n.domain(t),u):n.domain().map(I)},u.ticks=function(t,e){var r,u=n.domain(),o=u[0],a=u[u.length-1];return o>a&&(r=o,o=a,a=r),(t=i(t,o,a,e))?t.range(o,a+1):[]},u.tickFormat=function(n){return null==n?e:r(n)},u.nice=function(t,e){var r,o=n.domain(),a=0,c=o.length-1,f=o[a],s=o[c];return f>s&&(r=a,a=c,c=r,r=f,f=s,s=r),(t=i(t,f,s,e))&&(o[a]=+t.floor(f),o[c]=+t.ceil(s),n.domain(o)),u},u.copy=function(){return W(n.copy(),t,e,r)},k(u,n)}function A(n,t,e){var r=Math.abs(t-n)/e,u=sn(fn,r);return u===fn.length?["years",m([n/cn,t/cn],e)[2]]:u?fn[r/fn[u-1][2]<fn[u][2]/r?u-1:u]:["milliseconds",m([n,t],e)[2]]}function O(n){return(o.second(n)<n?ln:o.minute(n)<n?hn:o.hour(n)<n?gn:o.day(n)<n?dn:o.month(n)<n?o.week(n)<n?mn:pn:o.year(n)<n?bn:Mn)(n)}function j(n){return{range:function(t,r){return e.range(Math.ceil(t/n)*n,r,n).map(I)},floor:function(t){return I(Math.floor(t/n)*n)},ceil:function(t){return I(Math.ceil(t/n)*n)}}}function z(n,t){switch(n){case"milliseconds":return j(t);case"seconds":return t>1?o.second.filter(function(n){return n.getSeconds()%t===0}):o.second;case"minutes":return t>1?o.minute.filter(function(n){return n.getMinutes()%t===0}):o.minute;case"hours":return t>1?o.hour.filter(function(n){return n.getHours()%t===0}):o.hour;case"days":return t>1?o.day.filter(function(n){return(n.getDate()-1)%t===0}):o.day;case"weeks":return t>1?o.week.filter(function(n){return o.week.count(0,n)%t===0}):o.week;case"months":return t>1?o.month.filter(function(n){return n.getMonth()%t===0}):o.month;case"years":return t>1?o.year.filter(function(n){return n.getFullYear()%t===0}):o.year}}function G(){return W(F(),z,O,i.format).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}function J(n){return(o.utcSecond(n)<n?yn:o.utcMinute(n)<n?vn:o.utcHour(n)<n?xn:o.utcDay(n)<n?wn:o.utcMonth(n)<n?o.utcWeek(n)<n?kn:Fn:o.utcYear(n)<n?Nn:qn)(n)}function K(n,t){switch(n){case"milliseconds":return j(t);case"seconds":return t>1?o.utcSecond.filter(function(n){return n.getUTCSeconds()%t===0}):o.utcSecond;case"minutes":return t>1?o.utcMinute.filter(function(n){return n.getUTCMinutes()%t===0}):o.utcMinute;case"hours":return t>1?o.utcHour.filter(function(n){return n.getUTCHours()%t===0}):o.utcHour;case"days":return t>1?o.utcDay.filter(function(n){return(n.getUTCDate()-1)%t===0}):o.utcDay;case"weeks":return t>1?o.utcWeek.filter(function(n){return o.utcWeek.count(0,n)%t===0}):o.utcWeek;case"months":return t>1?o.utcMonth.filter(function(n){return n.getUTCMonth()%t===0}):o.utcMonth;case"years":return t>1?o.utcYear.filter(function(n){return n.getUTCFullYear()%t===0}):o.utcYear}}function Q(){return W(F(),K,J,i.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}var V=Math.sqrt(50),X=Math.sqrt(10),Z=Math.sqrt(2),$=u.format(".0e"),nn=u.format(","),tn=1e3,en=60*tn,rn=60*en,un=24*rn,on=7*un,an=30*un,cn=365*un,fn=[["seconds",1,tn],["seconds",5,5*tn],["seconds",15,15*tn],["seconds",30,30*tn],["minutes",1,en],["minutes",5,5*en],["minutes",15,15*en],["minutes",30,30*en],["hours",1,rn],["hours",3,3*rn],["hours",6,6*rn],["hours",12,12*rn],["days",1,un],["days",2,2*un],["weeks",1,on],["months",1,an],["months",3,3*an],["years",1,cn]],sn=e.bisector(function(n){return n[2]}).right,ln=i.format(".%L"),hn=i.format(":%S"),gn=i.format("%I:%M"),dn=i.format("%I %p"),mn=i.format("%a %d"),pn=i.format("%b %d"),bn=i.format("%B"),Mn=i.format("%Y"),yn=i.utcFormat(".%L"),vn=i.utcFormat(":%S"),xn=i.utcFormat("%I:%M"),wn=i.utcFormat("%I %p"),kn=i.utcFormat("%a %d"),Fn=i.utcFormat("%b %d"),Nn=i.utcFormat("%B"),qn=i.utcFormat("%Y"),Cn="0.1.5";n.version=Cn,n.category10=s,n.category20b=l,n.category20c=h,n.category20=g,n.cubehelix=N,n.identity=C,n.linear=F,n.log=R,n.ordinal=f,n.pow=U,n.sqrt=S,n.quantile=B,n.quantize=P,n.rainbow=H,n.threshold=E,n.time=G,n.utcTime=Q});
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("d3-color"),require("d3-interpolate"),require("d3-arrays"),require("d3-format"),require("d3-time-format"),require("d3-time")):"function"==typeof define&&define.amd?define("d3-scale",["exports","d3-color","d3-interpolate","d3-arrays","d3-format","d3-time-format","d3-time"],t):t(n.d3_scale={},n.d3_color,n.d3_interpolate,n.d3_arrays,n.d3_format,n.d3_time_format,n.d3_time)}(this,function(n,t,e,r,u,i,a){"use strict";function o(n,t,e){for(var r=new Array(n),u=-1;++u<n;)r[u]=t+e*u;return r}function c(n,t){function e(e){var r=e+"",a=u.get(r);if(!a){if("range"!==t.t)return;u.set(r,a=n.push(e))}return i[(a-1)%i.length]}var u,i,a;return e.domain=function(i){if(!arguments.length)return n.slice();n=[],u=r.map();for(var a,o,c=-1,f=i.length;++c<f;)u.has(o=(a=i[c])+"")||u.set(o,n.push(a));return e[t.t].apply(e,t.a)},e.range=function(n){return arguments.length?(i=n.slice(),a=0,t={t:"range",a:arguments},e):i.slice()},e.rangePoints=function(r,u){u=arguments.length<2?0:+u;var c=+r[0],f=+r[1],l=n.length<2?(c=(c+f)/2,0):(f-c)/(n.length-1+u);return i=o(n.length,c+l*u/2,l),a=0,t={t:"rangePoints",a:arguments},e},e.rangeRoundPoints=function(r,u){u=arguments.length<2?0:+u;var c=+r[0],f=+r[1],l=n.length<2?(c=f=Math.round((c+f)/2),0):(f-c)/(n.length-1+u)|0;return i=o(n.length,c+Math.round(l*u/2+(f-c-(n.length-1+u)*l)/2),l),a=0,t={t:"rangeRoundPoints",a:arguments},e},e.rangeBands=function(r,u,c){u=arguments.length<2?0:+u,c=arguments.length<3?u:+c;var f=+r[1]<+r[0],l=+r[f-0],g=+r[1-f],s=(g-l)/(n.length-u+2*c);return i=o(n.length,l+s*c,s),f&&i.reverse(),a=s*(1-u),t={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(r,u,c){u=arguments.length<2?0:+u,c=arguments.length<3?u:+c;var f=+r[1]<+r[0],l=+r[f-0],g=+r[1-f],s=Math.floor((g-l)/(n.length-u+2*c));return i=o(n.length,l+Math.round((g-l-(n.length-u)*s)/2),s),f&&i.reverse(),a=Math.round(s*(1-u)),t={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return a},e.rangeExtent=function(){var n=t.a[0],e=n[0],r=n[n.length-1];return e>r&&(n=r,r=e,e=n),[e,r]},e.copy=function(){return c(n,t)},e.domain(n)}function f(){return c([],{t:"range",a:[[]]})}function l(){return f().range(["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"])}function g(){return f().range(["#393b79","#5254a3","#6b6ecf","#9c9ede","#637939","#8ca252","#b5cf6b","#cedb9c","#8c6d31","#bd9e39","#e7ba52","#e7cb94","#843c39","#ad494a","#d6616b","#e7969c","#7b4173","#a55194","#ce6dbd","#de9ed6"])}function s(){return f().range(["#3182bd","#6baed6","#9ecae1","#c6dbef","#e6550d","#fd8d3c","#fdae6b","#fdd0a2","#31a354","#74c476","#a1d99b","#c7e9c0","#756bb1","#9e9ac8","#bcbddc","#dadaeb","#636363","#969696","#bdbdbd","#d9d9d9"])}function h(){return f().range(["#1f77b4","#aec7e8","#ff7f0e","#ffbb78","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5","#8c564b","#c49c94","#e377c2","#f7b6d2","#7f7f7f","#c7c7c7","#bcbd22","#dbdb8d","#17becf","#9edae5"])}function d(n,t){if(n=n.slice(),!t)return n;var e,r=0,u=n.length-1,i=n[r],a=n[u];return i>a&&(e=r,r=u,u=e,e=i,i=a,a=e),n[r]=Math.floor(i/t)*t,n[u]=Math.ceil(a/t)*t,n}function m(n,t){null==t&&(t=10);var e=n[0],r=n[n.length-1];e>r&&(a=r,r=e,e=a);var u=r-e,i=Math.pow(10,Math.floor(Math.log(u/t)/Math.LN10)),a=u/t/i;return a>=H?i*=10:a>=W?i*=5:a>=G&&(i*=2),[Math.ceil(e/i)*i,Math.floor(r/i)*i+i/2,i]}function p(n,t){return r.range.apply(null,m(n,t))}function b(n,t,e){var r=m(n,t);if(null==e)e=",."+u.precisionFixed(r[2])+"f";else switch(e=u.formatSpecifier(e),e.type){case"s":var i=Math.max(Math.abs(r[0]),Math.abs(r[1]));return null==e.precision&&(e.precision=u.precisionPrefix(r[2],i)),u.formatPrefix(e,i);case"":case"e":case"g":case"p":case"r":null==e.precision&&(e.precision=u.precisionRound(r[2],Math.max(Math.abs(r[0]),Math.abs(r[1])))-("e"===e.type));break;case"f":case"%":null==e.precision&&(e.precision=u.precisionFixed(r[2])-2*("%"===e.type))}return u.format(e)}function v(n,t){return t=(t-=n=+n)||1/t,function(e){return Math.max(0,Math.min(1,(e-n)/t))}}function M(n,t){return t=(t-=n=+n)||1/t,function(e){return(e-n)/t}}function y(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function x(n,t,e,u){var i=Math.min(n.length,t.length)-1,a=new Array(i),o=new Array(i),c=-1;for(n[i]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++c<i;)a[c]=e(n[c],n[c+1]),o[c]=u(t[c],t[c+1]);return function(t){var e=r.bisect(n,t,1,i)-1;return o[e](a[e](t))}}function w(n,t,r,u){function i(){var i=Math.min(n.length,t.length)>2?x:y,f=u?v:M;return o=i(n,t,f,r),c=i(t,n,f,e.number),a}function a(n){return o(n)}var o,c;return a.invert=function(n){return c(n)},a.domain=function(t){return arguments.length?(n=t.map(Number),i()):n.slice()},a.range=function(n){return arguments.length?(t=n.slice(),i()):t.slice()},a.rangeRound=function(n){return a.range(n).interpolate(e.round)},a.clamp=function(n){return arguments.length?(u=!!n,i()):u},a.interpolate=function(n){return arguments.length?(r=n,i()):r},a.ticks=function(t){return p(n,t)},a.tickFormat=function(t,e){return b(n,t,e)},a.nice=function(t){return n=d(n,m(n,t)[2]),i()},a.copy=function(){return w(n,t,r,u)},i()}function N(n,t){return n.range=function(){var e=t.range.apply(t,arguments);return e===t?n:e},n.rangeRound=function(){var e=t.rangeRound.apply(t,arguments);return e===t?n:e},n.clamp=function(){var e=t.clamp.apply(t,arguments);return e===t?n:e},n.interpolate=function(){var e=t.interpolate.apply(t,arguments);return e===t?n:e},n}function k(){return w([0,1],[0,1],e.value,!1)}function q(){return k().interpolate(e.cubehelixLong).range([t.cubehelix(300,.5,0),t.cubehelix(-240,.5,1)])}function F(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(Number),t):n.slice()},t.ticks=function(t){return p(n,t)},t.tickFormat=function(t,e){return b(n,t,e)},t.copy=function(){return F(n)},t}function R(){return F([0,1])}function _(n,t,e){function r(n){return(e[0]<0?-Math.log(n>0?0:-n):Math.log(0>n?0:n))/Math.log(t)}function i(n){return e[0]<0?-Math.pow(t,-n):Math.pow(t,n)}function a(t){return n(r(t))}return a.invert=function(t){return i(n.invert(t))},a.base=function(n){return arguments.length?(t=+n,a.domain(e)):t},a.domain=function(t){return arguments.length?(e=t.map(Number),n.domain(e.map(r)),a):e.slice()},a.nice=function(){var t=d(n.domain(),1);return n.domain(t),e=t.map(i),a},a.ticks=function(){var n=e[0],u=e[e.length-1];n>u&&(c=n,n=u,u=c);var a,o,c=Math.floor(r(n)),f=Math.ceil(r(u)),l=t%1?2:t,g=[];if(isFinite(f-c))if(n>0){for(--f,a=1;l>a;++a){if((o=i(c)*a)<n)continue;g.push(o)}for(;++c<f;)for(a=1;l>a;++a)g.push(i(c)*a);for(a=1;l>a&&!((o=i(c)*a)>u);++a)g.push(o)}else{for(++c,a=l-1;a>=1;--a){if((o=i(c)*a)<n)continue;g.push(o)}for(;++c<f;)for(a=l-1;a>=1;--a)g.push(i(c)*a);for(a=l-1;a>=1&&!((o=i(c)*a)>u);--a)g.push(o)}return g},a.tickFormat=function(n,o){if(null==o?o=10===t?J:K:"function"!=typeof o&&(o=u.format(o)),null==n)return o;var c,f=Math.min(t,a.ticks().length/n),l=e[0]>0?(c=1e-12,Math.ceil):(c=-1e-12,Math.floor);return function(n){return i(l(r(n)+c))/n>=f?o(n):""}},a.copy=function(){return _(n.copy(),t,e)},N(a,n)}function B(){return _(k(),10,[1,10])}function D(n,t,e){function r(n){return 0>n?-Math.pow(-n,t):Math.pow(n,t)}function u(n){return 0>n?-Math.pow(-n,1/t):Math.pow(n,1/t)}function i(t){return n(r(t))}return i.invert=function(t){return u(n.invert(t))},i.exponent=function(n){return arguments.length?(t=+n,i.domain(e)):t},i.domain=function(t){return arguments.length?(e=t.map(Number),n.domain(e.map(r)),i):e.slice()},i.ticks=function(n){return p(e,n)},i.tickFormat=function(n,t){return b(e,n,t)},i.nice=function(n){return i.domain(d(e,m(e,n)[2]))},i.copy=function(){return D(n.copy(),t,e)},N(i,n)}function P(){return D(k(),.5,[0,1])}function E(){return D(k(),1,[0,1])}function L(n,t){function e(){var e=0,a=t.length;for(i=[];++e<a;)i[e-1]=r.quantile(n,e/a);return u}function u(n){return isNaN(n=+n)?void 0:t[r.bisect(i,n)]}var i;return u.domain=function(t){if(!arguments.length)return n;n=[];for(var u,i=0,a=t.length;a>i;++i)u=t[i],null==u||isNaN(u=+u)||n.push(u);return n.sort(r.ascending),e()},u.range=function(n){return arguments.length?(t=n.slice(),e()):t.slice()},u.quantiles=function(){return i},u.invertExtent=function(e){return e=t.indexOf(e),0>e?[NaN,NaN]:[e>0?i[e-1]:n[0],e<i.length?i[e]:n[n.length-1]]},u.copy=function(){return L(n,t)},e()}function A(){return L([],[])}function O(n,t,e){function r(t){return e[Math.max(0,Math.min(a,Math.floor(i*(t-n))))]}function u(){return i=e.length/(t-n),a=e.length-1,r}var i,a;return r.domain=function(e){return arguments.length?(n=+e[0],t=+e[e.length-1],u()):[n,t]},r.range=function(n){return arguments.length?(e=n.slice(),u()):e.slice()},r.invertExtent=function(t){return t=e.indexOf(t),t=0>t?NaN:t/i+n,[t,t+1/i]},r.copy=function(){return O(n,t,e)},u()}function S(){return O(0,1,[0,1])}function T(){return k().interpolate(e.cubehelixLong).domain([0,.5,1]).range([t.cubehelix(-100,.75,.35),t.cubehelix(80,1.5,.8),t.cubehelix(260,.75,.35)])}function C(n,t,e){function u(u){return u>=u?t[r.bisect(n,u,0,e)]:void 0}return u.domain=function(r){return arguments.length?(n=r.slice(),e=Math.min(n.length,t.length-1),u):n.slice()},u.range=function(r){return arguments.length?(t=r.slice(),e=Math.min(n.length,t.length-1),u):t.slice()},u.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},u.copy=function(){return C(n,t)},u}function I(){return C([.5],[0,1],1)}function U(n){return new Date(n)}function Y(n,t,e,r,u,i,a,o,c,f){function l(t){return n(t)}function g(n){return(o(n)<n?h:a(n)<n?d:i(n)<n?p:u(n)<n?b:e(n)<n?r(n)<n?v:M:t(n)<n?y:x)(n)}function s(n,e,r,u){if(null==n&&(n=10),"number"==typeof n){var i=Math.abs(r-e)/n,a=en(w,i);a===w.length?(u=m([e/tn,r/tn],n)[2],n=t):a?(a=w[i/w[a-1][2]<w[a][2]/i?a-1:a],u=a[1],n=a[0]):(u=m([e,r],n)[2],n=c)}return null==u?n:n.every(u)}var h=f(".%L"),d=f(":%S"),p=f("%I:%M"),b=f("%I %p"),v=f("%a %d"),M=f("%b %d"),y=f("%B"),x=f("%Y"),w=[[o,1,Q],[o,5,5*Q],[o,15,15*Q],[o,30,30*Q],[a,1,V],[a,5,5*V],[a,15,15*V],[a,30,30*V],[i,1,X],[i,3,3*X],[i,6,6*X],[i,12,12*X],[u,1,Z],[u,2,2*Z],[r,1,$],[e,1,nn],[e,3,3*nn],[t,1,tn]];return l.invert=function(t){return U(n.invert(t))},l.domain=function(t){return arguments.length?(n.domain(t),l):n.domain().map(U)},l.ticks=function(t,e){var r,u=n.domain(),i=u[0],a=u[u.length-1];return i>a&&(r=i,i=a,a=r),(t=s(t,i,a,e))?t.range(i,a+1):[]},l.tickFormat=function(n){return null==n?g:f(n)},l.nice=function(t,e){var r,u=n.domain(),i=0,a=u.length-1,o=u[i],c=u[a];return o>c&&(r=i,i=a,a=r,r=o,o=c,c=r),(t=s(t,o,c,e))&&(u[i]=+t.floor(o),u[a]=+t.ceil(c),n.domain(u)),l},l.copy=function(){return Y(n.copy(),t,e,r,u,i,a,o,c,f)},N(l,n)}function j(){return Y(k(),a.year,a.month,a.week,a.day,a.hour,a.minute,a.second,a.millisecond,i.format).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}function z(){return Y(k(),a.utcYear,a.utcMonth,a.utcWeek,a.utcDay,a.utcHour,a.utcMinute,a.utcSecond,a.utcMillisecond,i.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}var H=Math.sqrt(50),W=Math.sqrt(10),G=Math.sqrt(2),J=u.format(".0e"),K=u.format(","),Q=1e3,V=60*Q,X=60*V,Z=24*X,$=7*Z,nn=30*Z,tn=365*Z,en=r.bisector(function(n){return n[2]}).right,rn="0.2.0";n.version=rn,n.category10=l,n.category20b=g,n.category20c=s,n.category20=h,n.cubehelix=q,n.identity=R,n.linear=k,n.log=B,n.ordinal=f,n.pow=E,n.sqrt=P,n.quantile=A,n.quantize=S,n.rainbow=T,n.threshold=I,n.time=j,n.utcTime=z});
{
"name": "d3-scale",
"version": "0.1.5",
"version": "0.2.0",
"description": "Encodings that map abstract data to visual representation.",

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

"dependencies": {
"d3-arrays": "~0.3.1",
"d3-color": "~0.2.8",
"d3-format": "~0.3.6",
"d3-interpolate": "~0.1.4",
"d3-time": "~0.0.7",
"d3-time-format": "~0.1.5"
"d3-arrays": "~0.4.0",
"d3-color": "~0.3.1",
"d3-format": "~0.4.0",
"d3-interpolate": "~0.2.0",
"d3-time": "~0.1.0",
"d3-time-format": "~0.2.0"
},

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

import linear from "./linear";
import {cubehelix, interpolateCubehelixLong} from "d3-color";
import {cubehelix} from "d3-color";
import {cubehelixLong} from "d3-interpolate";
export default function() {
return linear()
.interpolate(interpolateCubehelixLong)
.interpolate(cubehelixLong)
.range([cubehelix(300, 0.5, 0.0), cubehelix(-240, 0.5, 1.0)]);
};
import {bisect} from "d3-arrays";
import {interpolate, interpolateNumber, interpolateRound} from "d3-interpolate";
import {value, number, round} from "d3-interpolate";
import nice from "./nice";

@@ -60,3 +60,3 @@ import tickFormat from "./tickFormat";

output = linear(domain, range, uninterpolate, interpolate);
input = linear(range, domain, uninterpolate, interpolateNumber);
input = linear(range, domain, uninterpolate, number);
return scale;

@@ -86,3 +86,3 @@ }

scale.rangeRound = function(x) {
return scale.range(x).interpolate(interpolateRound);
return scale.range(x).interpolate(round);
};

@@ -147,3 +147,3 @@

export default function() {
return newLinear([0, 1], [0, 1], interpolate, false);
return newLinear([0, 1], [0, 1], value, false);
};
import linear from "./linear";
import {cubehelix, interpolateCubehelixLong} from "d3-color";
import {cubehelix} from "d3-color";
import {cubehelixLong} from "d3-interpolate";
export default function() {
return linear()
.interpolate(interpolateCubehelixLong)
.interpolate(cubehelixLong)
.domain([0, 0.5, 1.0])
.range([cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8), cubehelix(260, 0.75, 0.35)]);
};

@@ -1,7 +0,16 @@

import {bisector, range} from "d3-arrays";
import {bisector} from "d3-arrays";
import linear, {rebind} from "./linear";
import {format} from "d3-time-format";
import {second, minute, hour, day, month, week, year} from "d3-time";
import {year, month, week, day, hour, minute, second, millisecond} from "d3-time";
import {tickRange} from "./ticks";
var millisecondsPerSecond = 1000,
millisecondsPerMinute = millisecondsPerSecond * 60,
millisecondsPerHour = millisecondsPerMinute * 60,
millisecondsPerDay = millisecondsPerHour * 24,
millisecondsPerWeek = millisecondsPerDay * 7,
millisecondsPerMonth = millisecondsPerDay * 30,
millisecondsPerYear = millisecondsPerDay * 365,
bisectTickIntervals = bisector(function(method) { return method[2]; }).right;
function newDate(t) {

@@ -11,4 +20,33 @@ return new Date(t);

export function newTime(linear, timeInterval, tickFormat, format) {
export function newTime(linear, year, month, week, day, hour, minute, second, millisecond, format) {
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, millisecondsPerSecond],
[second, 5, 5 * millisecondsPerSecond],
[second, 15, 15 * millisecondsPerSecond],
[second, 30, 30 * millisecondsPerSecond],
[minute, 1, millisecondsPerMinute],
[minute, 5, 5 * millisecondsPerMinute],
[minute, 15, 15 * millisecondsPerMinute],
[minute, 30, 30 * millisecondsPerMinute],
[ hour, 1, millisecondsPerHour ],
[ hour, 3, 3 * millisecondsPerHour ],
[ hour, 6, 6 * millisecondsPerHour ],
[ hour, 12, 12 * millisecondsPerHour ],
[ day, 1, millisecondsPerDay ],
[ day, 2, 2 * millisecondsPerDay ],
[ week, 1, millisecondsPerWeek ],
[ month, 1, millisecondsPerMonth ],
[ month, 3, 3 * millisecondsPerMonth ],
[ year, 1, millisecondsPerYear ]
];
function scale(x) {

@@ -28,2 +66,12 @@ return linear(x);

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) {

@@ -34,12 +82,20 @@ if (interval == null) interval = 10;

// based on the extent of the domain and a rough estimate of tick size.
// If a named interval such as "seconds" was specified, convert to the
// corresponding time interval and optionally filter using the step.
// Otherwise, assume interval is already a time interval and use it.
switch (typeof interval) {
case "number": interval = chooseTickInterval(start, stop, interval), step = interval[1], interval = interval[0]; break;
case "string": step = step == null ? 1 : Math.floor(step); break;
default: return interval;
if (typeof interval === "number") {
var target = Math.abs(stop - start) / interval,
i = bisectTickIntervals(tickIntervals, target);
if (i === tickIntervals.length) {
step = tickRange([start / millisecondsPerYear, stop / millisecondsPerYear], interval)[2];
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 = tickRange([start, stop], interval)[2];
interval = millisecond;
}
}
return isFinite(step) && step > 0 ? timeInterval(interval, step) : null;
return step == null ? interval : interval.every(step);
}

@@ -87,3 +143,3 @@

scale.copy = function() {
return newTime(linear.copy(), timeInterval, tickFormat, format);
return newTime(linear.copy(), year, month, week, day, hour, minute, second, millisecond, format);
};

@@ -94,85 +150,4 @@

var millisecondsPerSecond = 1000,
millisecondsPerMinute = millisecondsPerSecond * 60,
millisecondsPerHour = millisecondsPerMinute * 60,
millisecondsPerDay = millisecondsPerHour * 24,
millisecondsPerWeek = millisecondsPerDay * 7,
millisecondsPerMonth = millisecondsPerDay * 30,
millisecondsPerYear = millisecondsPerDay * 365;
var tickIntervals = [
["seconds", 1, millisecondsPerSecond],
["seconds", 5, 5 * millisecondsPerSecond],
["seconds", 15, 15 * millisecondsPerSecond],
["seconds", 30, 30 * millisecondsPerSecond],
["minutes", 1, millisecondsPerMinute],
["minutes", 5, 5 * millisecondsPerMinute],
["minutes", 15, 15 * millisecondsPerMinute],
["minutes", 30, 30 * millisecondsPerMinute],
[ "hours", 1, millisecondsPerHour ],
[ "hours", 3, 3 * millisecondsPerHour ],
[ "hours", 6, 6 * millisecondsPerHour ],
[ "hours", 12, 12 * millisecondsPerHour ],
[ "days", 1, millisecondsPerDay ],
[ "days", 2, 2 * millisecondsPerDay ],
[ "weeks", 1, millisecondsPerWeek ],
[ "months", 1, millisecondsPerMonth ],
[ "months", 3, 3 * millisecondsPerMonth ],
[ "years", 1, millisecondsPerYear ]
];
var bisectTickIntervals = bisector(function(method) {
return method[2];
}).right;
function chooseTickInterval(start, stop, count) {
var target = Math.abs(stop - start) / count,
i = bisectTickIntervals(tickIntervals, target);
return i === tickIntervals.length ? ["years", tickRange([start / millisecondsPerYear, stop / millisecondsPerYear], count)[2]]
: i ? tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i]
: ["milliseconds", tickRange([start, stop], count)[2]];
}
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");
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);
}
export function millisecond(step) {
return {
range: function(start, stop) { return range(Math.ceil(start / step) * step, stop, step).map(newDate); },
floor: function(date) { return newDate(Math.floor(date / step) * step); },
ceil: function(date) { return newDate(Math.ceil(date / step) * step); }
};
};
function timeInterval(interval, step) {
switch (interval) {
case "milliseconds": return millisecond(step);
case "seconds": return step > 1 ? second.filter(function(d) { return d.getSeconds() % step === 0; }) : second;
case "minutes": return step > 1 ? minute.filter(function(d) { return d.getMinutes() % step === 0; }) : minute;
case "hours": return step > 1 ? hour.filter(function(d) { return d.getHours() % step === 0; }) : hour;
case "days": return step > 1 ? day.filter(function(d) { return (d.getDate() - 1) % step === 0; }) : day;
case "weeks": return step > 1 ? week.filter(function(d) { return week.count(0, d) % step === 0; }) : week;
case "months": return step > 1 ? month.filter(function(d) { return d.getMonth() % step === 0; }) : month;
case "years": return step > 1 ? year.filter(function(d) { return d.getFullYear() % step === 0; }) : year;
}
}
export default function() {
return newTime(linear(), timeInterval, tickFormat, format).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);
return newTime(linear(), year, month, week, day, hour, minute, second, millisecond, format).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);
};
import linear from "./linear";
import {millisecond, newTime} from "./time";
import {range} from "d3-arrays";
import {newTime} from "./time";
import {utcFormat} from "d3-time-format";
import {utcSecond, utcMinute, utcHour, utcDay, utcMonth, utcWeek, utcYear} from "d3-time";
import {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcMillisecond} from "d3-time";
var formatUTCMillisecond = utcFormat(".%L"),
formatUTCSecond = utcFormat(":%S"),
formatUTCMinute = utcFormat("%I:%M"),
formatUTCHour = utcFormat("%I %p"),
formatUTCDay = utcFormat("%a %d"),
formatUTCWeek = utcFormat("%b %d"),
formatUTCMonth = utcFormat("%B"),
formatUTCYear = utcFormat("%Y");
function tickFormat(date) {
return (utcSecond(date) < date ? formatUTCMillisecond
: utcMinute(date) < date ? formatUTCSecond
: utcHour(date) < date ? formatUTCMinute
: utcDay(date) < date ? formatUTCHour
: utcMonth(date) < date ? (utcWeek(date) < date ? formatUTCDay : formatUTCWeek)
: utcYear(date) < date ? formatUTCMonth
: formatUTCYear)(date);
}
function timeInterval(interval, step) {
switch (interval) {
case "milliseconds": return millisecond(step);
case "seconds": return step > 1 ? utcSecond.filter(function(d) { return d.getUTCSeconds() % step === 0; }) : utcSecond;
case "minutes": return step > 1 ? utcMinute.filter(function(d) { return d.getUTCMinutes() % step === 0; }) : utcMinute;
case "hours": return step > 1 ? utcHour.filter(function(d) { return d.getUTCHours() % step === 0; }) : utcHour;
case "days": return step > 1 ? utcDay.filter(function(d) { return (d.getUTCDate() - 1) % step === 0; }) : utcDay;
case "weeks": return step > 1 ? utcWeek.filter(function(d) { return utcWeek.count(0, d) % step === 0; }) : utcWeek;
case "months": return step > 1 ? utcMonth.filter(function(d) { return d.getUTCMonth() % step === 0; }) : utcMonth;
case "years": return step > 1 ? utcYear.filter(function(d) { return d.getUTCFullYear() % step === 0; }) : utcYear;
}
}
export default function() {
return newTime(linear(), timeInterval, tickFormat, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);
return newTime(linear(), utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcMillisecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);
};

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