Skip to content

Commit

Permalink
Update dependencies.
Browse files Browse the repository at this point in the history
  • Loading branch information
mbostock committed Feb 3, 2016
1 parent 58f8892 commit 90c1fca
Show file tree
Hide file tree
Showing 8 changed files with 72 additions and 72 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ If you use NPM, `npm install d3-scale`. Otherwise, download the [latest release]
```html
<script src="https://d3js.org/d3-array.v0.7.min.js"></script>
<script src="https://d3js.org/d3-collection.v0.1.min.js"></script>
<script src="https://d3js.org/d3-color.v0.3.min.js"></script>
<script src="https://d3js.org/d3-color.v0.4.min.js"></script>
<script src="https://d3js.org/d3-format.v0.5.min.js"></script>
<script src="https://d3js.org/d3-interpolate.v0.5.min.js"></script>
<script src="https://d3js.org/d3-time.v0.2.min.js"></script>
Expand Down Expand Up @@ -99,8 +99,8 @@ var color = d3.scaleLinear()
.domain([-1, 0, 1])
.range(["red", "white", "green"]);

color(-0.5); // "#ff8080"
color(+0.5); // "#80c080"
color(-0.5); // "rgb(255, 128, 128)"
color(+0.5); // "rgb(128, 192, 128)"
```

Internally, a piecewise scale performs a [binary search](https://github.com/d3/d3-array#bisect) for the range interpolator corresponding to the given domain value. Thus, the domain must be in ascending or descending order. If the domain and range have different lengths *N* and *M*, only the first *min(N,M)* elements in each are observed.
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "d3-scale",
"version": "0.6.0",
"version": "0.6.1",
"description": "Encodings that map abstract data to visual representation.",
"keywords": [
"d3",
Expand Down Expand Up @@ -28,7 +28,7 @@
"dependencies": {
"d3-array": "~0.7.0",
"d3-collection": "~0.1.0",
"d3-color": "~0.3.3",
"d3-color": "~0.4.0",
"d3-format": "~0.5.0",
"d3-interpolate": "~0.5.0",
"d3-time": "~0.2.0",
Expand Down
34 changes: 17 additions & 17 deletions test/linear-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ tape("scaleLinear() has the expected defaults", function(test) {
test.deepEqual(s.domain(), [0, 1]);
test.deepEqual(s.range(), [0, 1]);
test.equal(s.clamp(), false);
test.deepEqual(s.interpolate()({array: ["red"]}, {array: ["blue"]})(.5), {array: ["#800080"]});
test.deepEqual(s.interpolate()({array: ["red"]}, {array: ["blue"]})(.5), {array: ["rgb(128, 0, 128)"]});
test.end();
});

Expand All @@ -17,14 +17,14 @@ tape("linear(x) maps a domain value x to a range value y", function(test) {
});

tape("linear(x) ignores extra range values if the domain is smaller than the range", function(test) {
test.equal(scale.scaleLinear().domain([-10, 0]).range(["red", "white", "green"]).clamp(true)(-5), "#ff8080");
test.equal(scale.scaleLinear().domain([-10, 0]).range(["red", "white", "green"]).clamp(true)(50), "#ffffff");
test.equal(scale.scaleLinear().domain([-10, 0]).range(["red", "white", "green"]).clamp(true)(-5), "rgb(255, 128, 128)");
test.equal(scale.scaleLinear().domain([-10, 0]).range(["red", "white", "green"]).clamp(true)(50), "rgb(255, 255, 255)");
test.end();
});

tape("linear(x) ignores extra domain values if the range is smaller than the domain", function(test) {
test.equal(scale.scaleLinear().domain([-10, 0, 100]).range(["red", "white"]).clamp(true)(-5), "#ff8080");
test.equal(scale.scaleLinear().domain([-10, 0, 100]).range(["red", "white"]).clamp(true)(50), "#ffffff");
test.equal(scale.scaleLinear().domain([-10, 0, 100]).range(["red", "white"]).clamp(true)(-5), "rgb(255, 128, 128)");
test.equal(scale.scaleLinear().domain([-10, 0, 100]).range(["red", "white"]).clamp(true)(50), "rgb(255, 255, 255)");
test.end();
});

Expand Down Expand Up @@ -53,9 +53,9 @@ tape("linear(x) can map a bilinear domain with two values to the corresponding r
tape("linear(x) can map a polylinear domain with more than two values to the corresponding range", function(test) {
var s = scale.scaleLinear().domain([-10, 0, 100]).range(["red", "white", "green"]);
test.deepEqual(s.domain(), [-10, 0, 100]);
test.equal(s(-5), "#ff8080");
test.equal(s(50), "#80c080");
test.equal(s(75), "#40a040");
test.equal(s(-5), "rgb(255, 128, 128)");
test.equal(s(50), "rgb(128, 192, 128)");
test.equal(s(75), "rgb(64, 160, 64)");
var s = scale.scaleLinear().domain([4, 2, 1]).range([1, 2, 4]);
test.equal(s(1.5), 3);
test.equal(s(3), 1.5);
Expand Down Expand Up @@ -131,18 +131,18 @@ tape("linear.range(range) does not coerce range to numbers", function(test) {
});

tape("linear.range(range) can accept range values as colors", function(test) {
test.equal(scale.scaleLinear().range(["red", "blue"])(.5), "#800080");
test.equal(scale.scaleLinear().range(["#ff0000", "#0000ff"])(.5), "#800080");
test.equal(scale.scaleLinear().range(["#f00", "#00f"])(.5), "#800080");
test.equal(scale.scaleLinear().range(["rgb(255,0,0)", "hsl(240,100%,50%)"])(.5), "#800080");
test.equal(scale.scaleLinear().range(["rgb(100%,0%,0%)", "hsl(240,100%,50%)"])(.5), "#800080");
test.equal(scale.scaleLinear().range(["hsl(0,100%,50%)", "hsl(240,100%,50%)"])(.5), "#800080");
test.equal(scale.scaleLinear().range(["red", "blue"])(.5), "rgb(128, 0, 128)");
test.equal(scale.scaleLinear().range(["#ff0000", "#0000ff"])(.5), "rgb(128, 0, 128)");
test.equal(scale.scaleLinear().range(["#f00", "#00f"])(.5), "rgb(128, 0, 128)");
test.equal(scale.scaleLinear().range(["rgb(255,0,0)", "hsl(240,100%,50%)"])(.5), "rgb(128, 0, 128)");
test.equal(scale.scaleLinear().range(["rgb(100%,0%,0%)", "hsl(240,100%,50%)"])(.5), "rgb(128, 0, 128)");
test.equal(scale.scaleLinear().range(["hsl(0,100%,50%)", "hsl(240,100%,50%)"])(.5), "rgb(128, 0, 128)");
test.end();
});

tape("linear.range(range) can accept range values as arrays or objects", function(test) {
test.deepEqual(scale.scaleLinear().range([{color: "red"}, {color: "blue"}])(.5), {color: "#800080"});
test.deepEqual(scale.scaleLinear().range([["red"], ["blue"]])(.5), ["#800080"]);
test.deepEqual(scale.scaleLinear().range([{color: "red"}, {color: "blue"}])(.5), {color: "rgb(128, 0, 128)"});
test.deepEqual(scale.scaleLinear().range([["red"], ["blue"]])(.5), ["rgb(128, 0, 128)"]);
test.end();
});

Expand Down Expand Up @@ -437,7 +437,7 @@ tape("linear.copy() returns a copy with changes to the interpolator are isolated
x.interpolate(i1);
test.equal(y.interpolate(), i0);
test.equal(x(0.5), "blue");
test.equal(y(0.5), "#800080");
test.equal(y(0.5), "rgb(128, 0, 128)");
test.end();
});

Expand Down
30 changes: 15 additions & 15 deletions test/log-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ tape("scaleLog() has the expected defaults", function(test) {
test.equal(x.clamp(), false);
test.equal(x.base(), 10);
test.equal(x.interpolate(), interpolate.interpolate);
test.deepEqual(x.interpolate()({array: ["red"]}, {array: ["blue"]})(.5), {array: ["#800080"]});
test.deepEqual(x.interpolate()({array: ["red"]}, {array: ["blue"]})(.5), {array: ["rgb(128, 0, 128)"]});
test.inDelta(x(5), 0.69897);
test.inDelta(x.invert(0.69897), 5);
test.inDelta(x(3.162278), 0.5);
Expand Down Expand Up @@ -55,9 +55,9 @@ tape("log.domain(…) can take negative values", function(test) {

tape("log.domain(…).range(…) can take more than two values", function(test) {
var x = scale.scaleLog().domain([0.1, 1, 100]).range(["red", "white", "green"]);
test.equal(x(0.5), "#ffb2b2");
test.equal(x(50), "#269326");
test.equal(x(75), "#108810");
test.equal(x(0.5), "rgb(255, 178, 178)");
test.equal(x(50), "rgb(38, 147, 38)");
test.equal(x(75), "rgb(16, 136, 16)");
test.end();
});

Expand All @@ -76,32 +76,32 @@ tape("log.range(…) does not coerce values to numbers", function(test) {

tape("log.range(…) can take colors", function(test) {
var x = scale.scaleLog().range(["red", "blue"]);
test.equal(x(5), "#4d00b2");
test.equal(x(5), "rgb(77, 0, 178)");
x.range(["#ff0000", "#0000ff"]);
test.equal(x(5), "#4d00b2");
test.equal(x(5), "rgb(77, 0, 178)");
x.range(["#f00", "#00f"]);
test.equal(x(5), "#4d00b2");
test.equal(x(5), "rgb(77, 0, 178)");
x.range([color.rgb(255, 0, 0), color.hsl(240, 1, 0.5)]);
test.equal(x(5), "#4d00b2");
test.equal(x(5), "rgb(77, 0, 178)");
x.range(["hsl(0,100%,50%)", "hsl(240,100%,50%)"]);
test.equal(x(5), "#4d00b2");
test.equal(x(5), "rgb(77, 0, 178)");
test.end();
});

tape("log.range(…) can take arrays or objects", function(test) {
var x = scale.scaleLog().range([{color: "red"}, {color: "blue"}]);
test.deepEqual(x(5), {color: "#4d00b2"});
test.deepEqual(x(5), {color: "rgb(77, 0, 178)"});
x.range([["red"], ["blue"]]);
test.deepEqual(x(5), ["#4d00b2"]);
test.deepEqual(x(5), ["rgb(77, 0, 178)"]);
test.end();
});

tape("log.interpolate(f) sets the interpolator", function(test) {
var x = scale.scaleLog().range(["red", "blue"]);
test.equal(x.interpolate(), interpolate.interpolate);
test.equal(x(5), "#4d00b2");
test.equal(x(5), "rgb(77, 0, 178)");
x.interpolate(interpolate.interpolateHsl);
test.equal(x(5), "#9a00ff");
test.equal(x(5), "rgb(154, 0, 255)");
test.end();
});

Expand Down Expand Up @@ -254,8 +254,8 @@ tape("log.copy() isolates changes to the range", function(test) {
tape("log.copy() isolates changes to the interpolator", function(test) {
var x = scale.scaleLog().range(["red", "blue"]), y = x.copy();
x.interpolate(interpolate.interpolateHsl);
test.equal(x(5), "#9a00ff");
test.equal(y(5), "#4d00b2");
test.equal(x(5), "rgb(154, 0, 255)");
test.equal(y(5), "rgb(77, 0, 178)");
test.equal(y.interpolate(), interpolate.interpolate);
test.end();
});
Expand Down
34 changes: 17 additions & 17 deletions test/pow-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ tape("scalePow() has the expected defaults", function(test) {
test.deepEqual(s.range(), [0, 1]);
test.equal(s.clamp(), false);
test.equal(s.exponent(), 1);
test.deepEqual(s.interpolate()({array: ["red"]}, {array: ["blue"]})(.5), {array: ["#800080"]});
test.deepEqual(s.interpolate()({array: ["red"]}, {array: ["blue"]})(.5), {array: ["rgb(128, 0, 128)"]});
test.end();
});

Expand All @@ -20,14 +20,14 @@ tape("pow(x) maps a domain value x to a range value y", function(test) {
});

tape("pow(x) ignores extra range values if the domain is smaller than the range", function(test) {
test.equal(scale.scalePow().domain([-10, 0]).range(["red", "white", "green"]).clamp(true)(-5), "#ff8080");
test.equal(scale.scalePow().domain([-10, 0]).range(["red", "white", "green"]).clamp(true)(50), "#ffffff");
test.equal(scale.scalePow().domain([-10, 0]).range(["red", "white", "green"]).clamp(true)(-5), "rgb(255, 128, 128)");
test.equal(scale.scalePow().domain([-10, 0]).range(["red", "white", "green"]).clamp(true)(50), "rgb(255, 255, 255)");
test.end();
});

tape("pow(x) ignores extra domain values if the range is smaller than the domain", function(test) {
test.equal(scale.scalePow().domain([-10, 0, 100]).range(["red", "white"]).clamp(true)(-5), "#ff8080");
test.equal(scale.scalePow().domain([-10, 0, 100]).range(["red", "white"]).clamp(true)(50), "#ffffff");
test.equal(scale.scalePow().domain([-10, 0, 100]).range(["red", "white"]).clamp(true)(-5), "rgb(255, 128, 128)");
test.equal(scale.scalePow().domain([-10, 0, 100]).range(["red", "white"]).clamp(true)(50), "rgb(255, 255, 255)");
test.end();
});

Expand Down Expand Up @@ -56,9 +56,9 @@ tape("pow(x) can map a bipow domain with two values to the corresponding range",
tape("pow(x) can map a polypow domain with more than two values to the corresponding range", function(test) {
var s = scale.scalePow().domain([-10, 0, 100]).range(["red", "white", "green"]);
test.deepEqual(s.domain(), [-10, 0, 100]);
test.equal(s(-5), "#ff8080");
test.equal(s(50), "#80c080");
test.equal(s(75), "#40a040");
test.equal(s(-5), "rgb(255, 128, 128)");
test.equal(s(50), "rgb(128, 192, 128)");
test.equal(s(75), "rgb(64, 160, 64)");
var s = scale.scalePow().domain([4, 2, 1]).range([1, 2, 4]);
test.equal(s(1.5), 3);
test.equal(s(3), 1.5);
Expand Down Expand Up @@ -167,18 +167,18 @@ tape("pow.range(range) does not coerce range to numbers", function(test) {
});

tape("pow.range(range) can accept range values as colors", function(test) {
test.equal(scale.scalePow().range(["red", "blue"])(.5), "#800080");
test.equal(scale.scalePow().range(["#ff0000", "#0000ff"])(.5), "#800080");
test.equal(scale.scalePow().range(["#f00", "#00f"])(.5), "#800080");
test.equal(scale.scalePow().range(["rgb(255,0,0)", "hsl(240,100%,50%)"])(.5), "#800080");
test.equal(scale.scalePow().range(["rgb(100%,0%,0%)", "hsl(240,100%,50%)"])(.5), "#800080");
test.equal(scale.scalePow().range(["hsl(0,100%,50%)", "hsl(240,100%,50%)"])(.5), "#800080");
test.equal(scale.scalePow().range(["red", "blue"])(.5), "rgb(128, 0, 128)");
test.equal(scale.scalePow().range(["#ff0000", "#0000ff"])(.5), "rgb(128, 0, 128)");
test.equal(scale.scalePow().range(["#f00", "#00f"])(.5), "rgb(128, 0, 128)");
test.equal(scale.scalePow().range(["rgb(255,0,0)", "hsl(240,100%,50%)"])(.5), "rgb(128, 0, 128)");
test.equal(scale.scalePow().range(["rgb(100%,0%,0%)", "hsl(240,100%,50%)"])(.5), "rgb(128, 0, 128)");
test.equal(scale.scalePow().range(["hsl(0,100%,50%)", "hsl(240,100%,50%)"])(.5), "rgb(128, 0, 128)");
test.end();
});

tape("pow.range(range) can accept range values as arrays or objects", function(test) {
test.deepEqual(scale.scalePow().range([{color: "red"}, {color: "blue"}])(.5), {color: "#800080"});
test.deepEqual(scale.scalePow().range([["red"], ["blue"]])(.5), ["#800080"]);
test.deepEqual(scale.scalePow().range([{color: "red"}, {color: "blue"}])(.5), {color: "rgb(128, 0, 128)"});
test.deepEqual(scale.scalePow().range([["red"], ["blue"]])(.5), ["rgb(128, 0, 128)"]);
test.end();
});

Expand Down Expand Up @@ -465,7 +465,7 @@ tape("pow.copy() returns a copy with changes to the interpolator are isolated",
x.interpolate(i1);
test.equal(y.interpolate(), i0);
test.equal(x(0.5), "blue");
test.equal(y(0.5), "#800080");
test.equal(y(0.5), "rgb(128, 0, 128)");
test.end();
});

Expand Down
28 changes: 14 additions & 14 deletions test/rainbow-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,39 +5,39 @@ tape("scaleRainbow() has the expected defaults", function(test) {
var s = scale.scaleRainbow();
test.deepEqual(s.domain(), [0, 1]);
test.equal(s.clamp(), false);
test.equal(s(0.0), "#6e40aa");
test.equal(s(0.5), "#aff05b");
test.equal(s(1.0), "#6e40aa");
test.equal(s(0.0), "rgb(110, 64, 170)");
test.equal(s(0.5), "rgb(175, 240, 91)");
test.equal(s(1.0), "rgb(110, 64, 170)");
test.end();
});

tape("rainbow(value) cycles by default", function(test) {
var s = scale.scaleRainbow();
for (var i = -2; i < 3; ++i) {
test.equal(s(i + 0.0), "#6e40aa");
test.equal(s(i + 0.5), "#aff05b");
test.equal(s(i + 1.0), "#6e40aa");
test.equal(s(i + 0.0), "rgb(110, 64, 170)");
test.equal(s(i + 0.5), "rgb(175, 240, 91)");
test.equal(s(i + 1.0), "rgb(110, 64, 170)");
}
test.end();
});

tape("rainbow.clamp(true) enables clamping", function(test) {
var s = scale.scaleRainbow().clamp(true);
test.equal(s.clamp(), true);
test.equal(s(-0.5), "#6e40aa");
test.equal(s( 0.0), "#6e40aa");
test.equal(s( 0.5), "#aff05b");
test.equal(s( 1.0), "#6e40aa");
test.equal(s( 1.5), "#6e40aa");
test.equal(s(-0.5), "rgb(110, 64, 170)");
test.equal(s( 0.0), "rgb(110, 64, 170)");
test.equal(s( 0.5), "rgb(175, 240, 91)");
test.equal(s( 1.0), "rgb(110, 64, 170)");
test.equal(s( 1.5), "rgb(110, 64, 170)");
test.end();
});

tape("rainbow.domain() coerces domain values to numbers", function(test) {
var s = scale.scaleRainbow().domain(["-1.20", "2.40"]);
test.deepEqual(s.domain(), [-1.2, 2.4]);
test.equal(s(-1.2), "#6e40aa");
test.equal(s( 0.6), "#aff05b");
test.equal(s( 2.4), "#6e40aa");
test.equal(s(-1.2), "rgb(110, 64, 170)");
test.equal(s( 0.6), "rgb(175, 240, 91)");
test.equal(s( 2.4), "rgb(110, 64, 170)");
test.end();
});

Expand Down
4 changes: 2 additions & 2 deletions test/time-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@ tape("time.copy() isolates changes to the interpolator", function(test) {
i = x.interpolate(),
y = x.copy();
x.interpolate(interpolate.interpolateHsl);
test.equal(x(date.local(2009, 6, 1)), "#ff00fd");
test.equal(y(date.local(2009, 6, 1)), "#81007e");
test.equal(x(date.local(2009, 6, 1)), "rgb(255, 0, 253)");
test.equal(y(date.local(2009, 6, 1)), "rgb(129, 0, 126)");
test.equal(y.interpolate(), i);
test.end();
});
Expand Down
4 changes: 2 additions & 2 deletions test/utcTime-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@ tape("scaleUtc.copy() isolates changes to the interpolator", function(test) {
i = x.interpolate(),
y = x.copy();
x.interpolate(interpolate.interpolateHsl);
test.equal(x(date.utc(2009, 6, 1)), "#ff00fd");
test.equal(y(date.utc(2009, 6, 1)), "#81007e");
test.equal(x(date.utc(2009, 6, 1)), "rgb(255, 0, 253)");
test.equal(y(date.utc(2009, 6, 1)), "rgb(129, 0, 126)");
test.equal(y.interpolate(), i);
test.end();
});
Expand Down

0 comments on commit 90c1fca

Please sign in to comment.