这个问题是抽象的,但我试图在d3js中合并单独的树图的两个函数,并且要求采用适当的策略。
总之,我想采用这个树图(计数,大小)的求助能力: http://strongriley.github.io/d3/ex/treemap.html
并将其应用于此树形图的缩放功能: http://bost.ocks.org/mike/treemap/
目的是允许进行动态转换,然后单击一个单元格以放大另一层数据,同时保持所选排序。如果有人有任何建议,我们将非常感谢您的帮助。
总之,我试图通过用accumulate函数替换treemap.values数据来求助可缩放树形图。以下是儿童的一些示例数据:
{"name": "DataUtil", "value": 3322,"value1": 45,"value2": 87}
通过单击按钮,累积功能需要根据值,值1,值2等将数据重新分配到完整层次结构。然后,需要更新可视化。
可以在JSFiddle上找到第一次尝试(不工作):
function accumulate(d, boo) {
if (boo == 0) {
return (d._children = d.children) ? d.value = d.children.reduce(function (p, v) {
return p + accumulate(v, 0);
}, 0) : d.value1;
}
if (boo == 1) {
return (d._children = d.children) ? d.value = d.children.reduce(function (p, v) {
return 1 + accumulate(v, 1);
}, 0) : d.value2;
}
}