Javascript 未捕获类型错误:。筛选器不是函数
我读过。但我不知道为什么函数不起作用Javascript 未捕获类型错误:。筛选器不是函数,javascript,d3.js,data-visualization,Javascript,D3.js,Data Visualization,我读过。但我不知道为什么函数不起作用 var bubble = d3.pack() .size([diameter, diameter]) .padding(2); var root = d3.hierarchy({"children": data.values}); var node = svg.selectAll(".node") .data(bubble(root) .filter(function(d) {return !d.children;
var bubble = d3.pack()
.size([diameter, diameter])
.padding(2);
var root = d3.hierarchy({"children": data.values});
var node = svg.selectAll(".node")
.data(bubble(root)
.filter(function(d) {return !d.children;}))
.enter().append("g")
.attr("class", "node")
.attr("transform", function(d) {
return "translate(" + d.x + "," + d.y + ")";
});
在将数据传递给
pack()
函数之前,必须将其传递给d3.hierarchy()
,该函数:
从指定的层次结构数据构造根节点
因此,考虑到您的数据对象:
var data = {
//Hierarchical data here
};
您必须将其传递到d3.hierarchy()
:
然后,您可以使用气泡
:
.data(bubble(root))
编辑:由于您更改了问题的标题,问题现在清楚了:
bubble(root)
返回一个对象,不能在对象中使用。这是一个数组方法。请粘贴你的气泡函数。粘贴@GerardoFurtadoLook查看更改,请@Баааааааааааааааааа。您不能在对象中使用filter
,filter是一种数组方法:我使用了array.prototype.slice.call(bubble(root))
,问题消失了,但出现了一个新的(.无法读取null的属性'ownerDocument'。你知道吗?很抱歉,我的ImportionProperty用于本身是文档的节点上,结果为null-找到它。但是,如果v3代码正确工作@Gerardofertado,此时如果没有a,就无法帮助你。另外,我建议你发布一个新问题,因为这个问题有c被绞死了很多次。
.data(bubble(root))