var linear = d3.scale.linear() //设置为线性比例尺
.domain([0,20]) //设置定义域为[0,20]
.range([0,100]); //设置值域为[0,100]
console.log(linear(10));
console.log(linear(30));
console.log(linear.invert(80)); //输入值域的值返回定义域的值
//默认false,当比例尺接收一个超出定义域范围的值时,依然按同样方法计算出一个可能超出值域范围的值,如歌设置为true,任何超出值域范围的值,都会缩小到值域范围内。
linear.clamp(true);
console.log(linear(30));
//可对输出的数值进行四舍五入 rangeRound
linear.rangeRound([0,100])
console.log(linear(13.33)); //输出67
// 定义域中有无穷小数,可用nice()
linear.domain([33.6111111111111,45.22222222]).nice()
console.log(linear.domain()); //输出[33,46]
// ticks 和 tickFormat() 主要用在坐标轴上的
var linear = d3.scale.linear() //设置为线性比例尺
.domain([-20,20]) //设置定义域为[0,20]
.range([0,100]); //设置值域为[0,100]
var ticks = linear.ticks(5);
console.log(ticks); //输出 [-20,-10,0,10,20]
//tickFormat() 返回值是一个函数,因此调用时要使用函数的调用方式,此处设置的为 "+" 表示正负数
var tickFormat = linear.tickFormat(5,"+");
for(var i = 0;i<ticks.length;i++){
ticks[i] = tickFormat(ticks[i]);
}
console.log(ticks); //输出["-20","-10","+0","+10","+20"]