线性比例尺 Linear Scale
- d3.scale.linear() 创建线性比例尺
- linear.domain([]) 设置或获取定义域,支持分段形式
- linear.range([]) 设置或获取值域
- linear(x) 获取值域中与定义域中x对应的值
- linear.invert(y) 获取定义域中与值域中y对应的值
- linear.clamp([boolean]) 设置超出定义域值得处理方式,设置为true时,超出值将限定在值域内。
- linear.nice() 以较理想的方式调整定义域
- linear.ticks([count]) 选取坐标轴刻度
- linear.tickFormat(count,[format]) 设置刻度值得显示格式
例程
var linear = d3.scale.linear()
.domain([0,20.304, 101])
.nice()
.range([0, 100, 1021])
.clamp(true);
console.log(linear.domain(), linear.range());
console.log(linear(2), linear(60), linear(120));
console.log(linear.invert(50), linear.invert(600), linear.invert(1100));
var ticks = linear.ticks(10);
var tickFormat = linear.tickFormat(10, "%");
console.log(ticks);
console.log(tickFormat(ticks[2]));
指数比例尺 Power Scale
- d3.sacle.pow() 定义指数比例尺
- exponent(number) 指定指数
例程
var powerScale = d3.scale.pow()
.exponent(4)
.domain([0,10])
.range([0, 200]);
console.log(powerScale(2), powerScale(5), powerScale(-2));
console.log(powerScale.invert(3),powerScale.invert(200));
console.log(powerScale.exponent());
对数比例尺 Log Scale
- base([number]) 设置或获取底数
例程
var logScale = d3.scale.log().base(2)
.domain([0.1, 10])
.range([-10, 20]);
console.log(logScale(1), logScale(8),logScale(10));
console.log(logScale.invert(-4),logScale.invert(12));
console.log(logScale.base(),logScale.domain(),logScale.range());