我想(在某种程度上)结合Hierarchical Edge Bundling和Radial Reingold–Tilford Treed3.js结合分层边缘捆绑和径向莱因戈尔德-蒂尔福德树+数据
*孩子应该是在一个弧,就像在树中。
我已经安装这个小提琴,显示在HEB简单的数据:https://fiddle.jshell.net/d1766z4r/2/
我已经结合了两种类型的数据(在开始时的意见,将取代当前的变量“类”):
var classes = [
{"name":"test.cluster1.item1","children": [
{"name": "test.cluster1.item4","imports":["test.cluster1.item2","test.cluster1.item3"]},
{"name": "test.cluster1.item5"}
]},
{"name":"test.cluster1.item2","imports":["test.cluster1.item3"]},
{"name":"test.cluster1.item3"}
];
如果有更好的方法来组合数据,请随时相应地更改它。
除了更改数据之外,我不确定如何继续,因为我是d3.js和javascript新手,尤其是当它将链接正确的子项目(项目4),而不是其他项目时项目5)。不过,我会考虑一个答案,将显示项目1的所有孩子的链接作为开始开发这个项目的一种方式。
如果可能的话,请更新这个提琴或制作一个新的代码。 当然欢迎任何关于如何进行的建议。
下一步将使这些孩子在点击时显示或隐藏,使用类似于Collapsible Tree的方法(也可以随时给出建议,但如果我不能,那么它可能会成为一个新问题了解如何做到这一点),因为我将不得不使用大量数据,首先为孩子们辩护。
最后,每个孩子都可以有自己的孩子,但是现在有一行孩子就足够了。我会在稍后谈谈。
更新:答案不一定是完整的解决方案,每一点(看看我在那里做了什么?)帮助!