| changeset 47 | c0b4a8b5a012 |
| 46:efd9c589177a | 47:c0b4a8b5a012 |
|---|---|
1 function d3_scale_polylinear(domain, range, uninterpolate, interpolate) { |
|
2 var u = [], |
|
3 i = [], |
|
4 j = 0, |
|
5 n = domain.length; |
|
6 |
|
7 while (++j < n) { |
|
8 u.push(uninterpolate(domain[j - 1], domain[j])); |
|
9 i.push(interpolate(range[j - 1], range[j])); |
|
10 } |
|
11 |
|
12 return function(x) { |
|
13 var j = d3.bisect(domain, x, 1, domain.length - 1) - 1; |
|
14 return i[j](u[j](x)); |
|
15 }; |
|
16 } |