【发布时间】:2016-08-25 16:35:03
【问题描述】:
我想(在某种程度上)将Hierarchical Edge Bundling 和Radial Reingold–Tilford Tree 结合起来
看起来有点像这样(请原谅我糟糕的paint.net技能)*:
*孩子们应该在弧形中,就像在树中一样。
我已经设置了这个在 HEB 中显示简单数据的小提琴:https://fiddle.jshell.net/d1766z4r/2/
我已经把这两种类型的数据结合起来了(一开始是在cmets中,会替换掉当前的变量“classes”):
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 的方法(也可以就此提供建议,但如果可以的话,以后可能会成为一个新问题'不知道怎么做),因为我将不得不处理大量数据,首先证明孩子是合理的。
最后,每个孩子都可以拥有自己的孩子,但目前 1 行孩子就足够了。我想我稍后会谈到。
更新:答案不必是完整的解决方案,每一点(看看我在那里做了什么?)都有帮助!
【问题讨论】:
标签: javascript css json d3.js