chapter-4 比例尺
如果用原生数值代替像素值,显示的图形过小或过大时,就需要将某一区域的值映射到另一区域,但其大小关系不变,这就是比例尺(Scale)了。
线性比例尺
var dataset = [1.2, 2.3, 0.9, 1.5, 3.3];
var min = d3.min(dataset);
var max = d3.max(dataset);
var linear = d3.scale.linear() // 生成线性比例尺
.domain([min, max]) // 设置定义域
.range([0, 300]); // 设置值域
linear(0.9); //返回 0 参数就是 dataset 中的item
linear(2.3); //返回 175
linear(3.3); //返回 300其中,d3.scale.linear() 返回一个线性比例尺,返回值可以当做函数来使用的。domain() 和 range() 分别设定比例尺的定义域和值域。
注意:V4 版本改变了写法,应该是 var linear = d3.scaleLinear(); 。

上图用的是d3.v3 ,宽度比例尺和颜色比例尺
序数比例尺
如果,定义域和值域不一定是连续的,都是离散的。那就要用到序数比例尺了。
Last updated