D3,Scale如何设置比例?

时间:2013-07-23 22:50:32

标签: d3.js

var scale = d3.scale.threshold().domain([100]).range([0,100])

我有数据,其中100表示​​“好”,而下面的任何表示“不好”

我想设置一个d3比例,以便100 - > 1以及以下任何内容是 - > 0

我不知道该怎么做:

我在这里阅读https://github.com/mbostock/d3/wiki/Quantitative-Scales#wiki-linear

关于这个例子:

var color = d3.scale.linear()
.domain([-1, 0, 1])
.range(["red", "white", "green"]);

但我不确定如何应用它,因为我的域名是连续0-> 100但我希望我的范围是0,1值

修改 这对我有用。

var scale = d3.scale.threshold().domain([100]).range([0,100])

console.log(scale(1)) //returns 0
console.log(scale(99.9)) //returns 0
console.log(scale(88.9)) //returns 0
console.log(scale(100)) //returns 100

1 个答案:

答案 0 :(得分:2)

在设置样式时,您可以使用过滤器来分隔数据:

d3.selection().filter( function(d) { return d === 100}).attr("class", "green");
d3.selection().filter( function(d) { return d < 100}).attr("class", "red");

编辑:有关量化和阈值比例的文档here