我有一个节点列表(图?),每个节点连接到列表中的其他节点一次或多次。我想把这些节点放在一个漂亮的2d图中,并以最佳方式将它们连接在一起。这样做的最佳算法是什么,以便它们间隔均匀,连接它们的线尽可能地解开?
答案 0 :(得分:1)
使用GraphViz。
如果您想了解有关所用算法的更多信息,请查看他们的Theory部分。
以下是Gallery的示例: GraphViz Example http://www.graphviz.org/Gallery/directed/unix.png
答案 1 :(得分:1)
我认为您会发现它取决于您尝试表示为图表的数据。没有一个适合所有人。
参见:http://networkx.lanl.gov/reference/drawing.html - 对于一些示例布局。
答案 2 :(得分:1)
有人在JavaScript中实施了强制导向图,并允许我使用它执行我想要的操作:http://www.reddit.com/r/programming/comments/bqr7v/force_directed_graph_layout_in_javascript/c0o4ka5?context=3
答案 3 :(得分:0)
以下是一堆不同的infovis想法https://github.com/mbostock/d3/wiki/Gallery