Add threshold scale invertExtent. Related #1201.

This commit is contained in:
Mike Bostock 2013-05-30 12:04:35 -07:00
Родитель ae83209409
Коммит 34633ae1d4
4 изменённых файлов: 21 добавлений и 4 удалений

4
d3.js поставляемый
Просмотреть файл

@ -6976,6 +6976,10 @@ d3 = function() {
range = _;
return scale;
};
scale.invertExtent = function(y) {
var i = range.indexOf(y);
return [ domain[i - 1], domain[i] ];
};
scale.copy = function() {
return d3_scale_threshold(domain, range);
};

8
d3.min.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -23,6 +23,11 @@ function d3_scale_threshold(domain, range) {
return scale;
};
scale.invertExtent = function(y) {
var i = range.indexOf(y);
return [domain[i - 1], domain[i]];
};
scale.copy = function() {
return d3_scale_threshold(domain, range);
};

Просмотреть файл

@ -42,6 +42,14 @@ suite.addBatch({
assert.equal(x(.6), b);
assert.equal(x(.8), c);
assert.equal(x(1), c);
},
"invertExtent": {
"returns the domain extent for the specified range value": function(threshold) {
var a = {}, b = {}, c = {}, x = threshold().domain([1/3, 2/3]).range([a, b, c]);
assert.deepEqual(x.invertExtent(a), [undefined, 1/3]);
assert.deepEqual(x.invertExtent(b), [1/3, 2/3]);
assert.deepEqual(x.invertExtent(c), [2/3, undefined]);
}
}
}
});