题
什么是最好的工具来使用,以形象化(绘制的顶点和边缘)一个图与1000000的顶点?有大约50000边缘的图表。我可以计算的位置的个人的的顶点和边缘。
我想写一个程序,以产生svg。任何其他建议吗?
解决方案
我也建议 Gephi
软件 (https://gephi.github.io),这似乎很强大。有关使用的一些其他信息 Gephi
和 大型网络 可以被找寻到 这里 而且,更普遍地 这里. Cytoscape
(http://www.cytoscape.org)是 Gephi
, ,是一个复杂网络分析和可视化的另一个流行平台。
如果您想与网络合作 以编程方式 (包括可视化)在R,Python或C/C ++中,您可以检查 igraph
库的收集。说到R,您可能会发现以下博客文章很有趣: 将R与Cytoscape一起使用 (http://www.vesnam.com/rblog/viznets1)和继续 将R与Gephi一起使用 (http://www.vesnam.com/rblog/viznets2).
为了 广泛的列表 的 网络分析和可视化软件, ,包括一些比较和评论,您可能需要检查以下页面:1) http://wiki.cytoscape.org/network_analsisy_links; 2) http://www.kdnuggets.com/software/social-network-analysis.html; 3) http://www.activatenetworks.net/social-network-analysis-sna-software-review.
其他提示
https://gephi.github.io/ 说它可以处理一百万个边缘。如果您的图形具有1000000个顶点,只有50000个边缘,则大多数顶点都不会有任何边缘。
实际上,Gephi规格是您的示例的双重说法:“网络最多50,000个节点和1,000,000个边缘”
报告:我最终使用了编码GraphMl并使用YED进行可视化(仅仅因为我熟悉这种组合。我敢打赌Gephi或GraphViz会正常工作,甚至更好)。由于我计算了所有节点的位置,因此内存并不是一个问题。与编码SVG相比,编码GraphML比较容易一些,因为我不必明确指定边缘的放置。
pajekxxl 旨在处理巨大的网络。但是Pajek也是一个奇怪的程序,具有不直觉的界面。
我会推荐使用Graphexp.Gephi是高度依赖于RAM的计算机,这显然是有限的。Graphexp另一方面显示只有有限数量的节点,通过它可以浏览到其他节点。我有视线图700万顶点使用Graphexp作为用户界面和Janusgraph西班牙电信公司用精作为后端存储。 https://github.com/bricaud/graphexp
看一眼 Graphistry, ,他们可以处理1兆的节点和边缘。