1 // d3中的比例尺也有定义域和值域,分别是domain和range,开发者需要指定domain和range的范围,如此即可以得到一个计算关系; 2 // 线性比例尺:能将一个连续的区间映射到另一区间,要解决柱形图宽度的问题,就需要线性比例尺; 3 // 如: 4 var dataset = [1.2, 2.3, 0.9, 1.5, 3.3]; 5 var min = d3.min(dataset) 6 var max = d3.max(dataset) 7 var linear = d3.scale.linear() 8 .domain([min,max]) 9 .range(0,300) 10 linear(0.9) //0 11 linear(2.3); //返回 175 12 linear(3.3); //返回 300 13 // 序数比例尺:定义域和值域不一定是连续的 14 var index = [0, 1, 2, 3, 4]; 15 var color = ["red", "blue", "green", "yellow", "black"]; 16 // 我们希望 0 对应颜色 red,1 对应 blue,依次类推。 17 var ordinal = d3.scale.ordinal() 18 .domain(index) 19 .range(color); 20 ordinal(0); //返回 red 21 ordinal(2); //返回 green 22 ordinal(4); //返回 black