Javascript 连接到交叉过滤器的D3 JS布局树

Javascript 连接到交叉过滤器的D3 JS布局树,javascript,d3.js,nvd3.js,crossfilter,dc.js,Javascript,D3.js,Nvd3.js,Crossfilter,Dc.js,如何将D3.JS连接到 假设我有。然后,我提取一个树节点列表,作为交叉过滤器的输入数据集 // Compute the new tree layout. var nodes = tree.nodes(root); var data = crossfilter(nodes); var bySize = data.dimension(function(d) { return d.size; }); 然后,我希望根据大小进行筛选,并根据此筛选动态更新树。关于如何更新树数据源有什么想法吗 我是否需要编

如何将D3.JS连接到

假设我有。然后,我提取一个树节点列表,作为交叉过滤器的输入数据集

// Compute the new tree layout.
var nodes = tree.nodes(root);
var data = crossfilter(nodes);
var bySize = data.dimension(function(d) { return d.size; });
然后,我希望根据大小进行筛选,并根据此筛选动态更新树。关于如何更新树数据源有什么想法吗

我是否需要编写函数以返回原始输入树数据结构,例如:

treeJson=graph2tree(filteredNodes,filteredges)


或者有更好的方法吗?

因为它是一个树,所以可以使用每个元素的整个路径作为维度键。然后,任何分支都是维度的连续范围

例如,这将自动分类为分支: A.1 A.2 A.3 B.1

然后在尺寸上键入另一个维度,并使用treeDim.top(Infinity)或.group()获取项目。它们不在树结构中,但至少它们是有序的,您可以使用d3.nest将它们生成树

。。。如果您还想在分支上进行过滤,那么您已经设置好了,只需将范围设置为[A,B]