D3.js:不是一个函数

时间:2016-08-10 17:30:23

标签: javascript d3.js scale

在使用d3.js时我遇到了两个问题,但它们引发了同样的错误。 第一个当我想用我的一个数组使用那段代码时:

/**
 * Simple JS equivalent of the Python set() constructor (without the      methods)
 * @requires shim: Array.prototype.indexOf
 * @param {array} arr The array to turn into a set
 * @example
 * var mySet = set(['red', 'yellow', 'black', 'yellow']);
 * mySet.length; // 3
 * JSON.stringify(mySet); // ["red","yellow","black"]
 * @see For a fuller version, see {@link https://npmjs.org/package/set}
 */
function set (arr) {
   return arr.reduce(function (a, val) {
      if (a.indexOf(val) === -1) {
        a.push(val);
}
return a;
    }, []);
 }

D3.js加注:arr.reduce不是一个函数。 当我尝试使用

时出现相同的错误
.attrTween('fill',function(d,a){
                            //choose color dynamicly      
                            return d3.interpolate(a,colorCalibration[zscale(d[2])]);
                             })

填充矩形。它说attrTween不是一个功能。以下是更多代码:

 var zscale = d3.scale.quantize()
                     .domain([0,200])
                     .range([0,1,2,3,4,5]);
 var colorCalibration =    ['#f6faaa','#FEE08B','#FDAE61','#F46D43','#D53E4F','#9E0142'];

0 个答案:

没有答案