差值器
插补数字,字符串,颜色,数组,对象等。api
d3.interpolate - 插补任意值。
d3.interpolateArray(a,b) - 插补任意值的数组。
返回一个在a和b两个数组之间插值的插值器。在内部首先会创建一个和b等长的数组,对于数组b中的每个元素,如果在a中有对应的元素,则则两个对应的元素之间进行插值。如果a中没有对应的元素则直接使用b中的元素。
d3.interpolateArray([1,4], [2,5])(0.12)
[1.12, 4.12]
d3.interpolateNumber(a,b) - 插补数。
var interpolate = d3.interpolateNumber(1, 10);
interpolate(1);
interpolate(0);
interpolate(0.12);
//ƒ (e){return t+n*e}
//10
// 1
//2.08
在a和b两个数值之间进行插值,定义如下:
function interpolator(t) {
return a * (1 - t) + b * t;
}
d3.interpolateObject(a,b) - 插补充任意对象
返回一个在两个对象之间插值的插值器。在内部会创建一个临时的对象,这个临时的对象和b有相同的属性,然后在a中找相同的属性,然后对属性进行分别插值,如果a中没有对应的属性则返回b的值。
var a = {x: 0, y: 1};
var b =