Skip to content

Commit 34633ae

Browse files
committed
Add threshold scale invertExtent. Related d3#1201.
1 parent ae83209 commit 34633ae

4 files changed

Lines changed: 21 additions & 4 deletions

File tree

d3.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6976,6 +6976,10 @@ d3 = function() {
69766976
range = _;
69776977
return scale;
69786978
};
6979+
scale.invertExtent = function(y) {
6980+
var i = range.indexOf(y);
6981+
return [ domain[i - 1], domain[i] ];
6982+
};
69796983
scale.copy = function() {
69806984
return d3_scale_threshold(domain, range);
69816985
};

d3.min.js

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/scale/threshold.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ function d3_scale_threshold(domain, range) {
2323
return scale;
2424
};
2525

26+
scale.invertExtent = function(y) {
27+
var i = range.indexOf(y);
28+
return [domain[i - 1], domain[i]];
29+
};
30+
2631
scale.copy = function() {
2732
return d3_scale_threshold(domain, range);
2833
};

test/scale/threshold-test.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,14 @@ suite.addBatch({
4242
assert.equal(x(.6), b);
4343
assert.equal(x(.8), c);
4444
assert.equal(x(1), c);
45+
},
46+
"invertExtent": {
47+
"returns the domain extent for the specified range value": function(threshold) {
48+
var a = {}, b = {}, c = {}, x = threshold().domain([1/3, 2/3]).range([a, b, c]);
49+
assert.deepEqual(x.invertExtent(a), [undefined, 1/3]);
50+
assert.deepEqual(x.invertExtent(b), [1/3, 2/3]);
51+
assert.deepEqual(x.invertExtent(c), [2/3, undefined]);
52+
}
4553
}
4654
}
4755
});

0 commit comments

Comments
 (0)