可视化具有一百万个顶点的图

数据挖掘 可视化 图表
2021-09-15 22:38:17

用于可视化(绘制顶点和边)具有 1000000 个顶点的图形的最佳工具是什么?图中大约有 50000 条边。我可以计算各个顶点和边的位置。

我正在考虑编写一个程序来生成一个svg。还有其他建议吗?

4个回答

我还建议使用Gephi软件(https://gephi.github.io),它似乎非常强大。可以在此处Gephi找到有关使用大型网络的一些附加信息,更一般地说,可以在此处找到( http://www.cytoscape.org ) 是另一个流行的复杂网络分析和可视化平台。CytoscapeGephi

如果您想在 R、Python 或 C/C++ 中以编程igraph方式(包括可视化)使用网络,您可以查看库集合。说到 R,您可能会发现以下博客文章很有趣:在Cytoscape 中使用 R ( http://www.vesnam.com/Rblog/viznets1 ) 和在Gephi 中使用 R ( http://www.vesnam.com/博客/viznets2)。

有关网络分析和可视化软件的广泛列表包括一些比较和评论,您可能需要查看以下页面: 1) http://wiki.cytoscape.org/Network_analysis_links2)http://www.kdnuggets.com/software/social-network-analysis.html3) http://www.activatenetworks.net/social-network-analysis-sna-software-review

https://gephi.github.io/说它可以处理一百万条边。如果您的图形有 1000000 个顶点并且只有 50000 条边,那么您的大多数顶点无论如何都不会有任何边。

实际上,Gephi 规范是您示例的双重特性:“网络多达 50,000 个节点和 1,000,000 个边”

我认为,这Gephi可能会面临内存不足的问题,您至少需要 8Gb 的 RAM。虽然边的数量不是很大。

在这种情况下,更合适的工具可能是GraphViz. 它是用于网络可视化的命令行工具,并且可能更能容忍图形大小。此外,我记得,GraphViz可以使用预先计算的坐标来促进计算。

我试图找到一个使用GraphViz大图的真实示例,但没有成功。尽管我在Computational Science上找到了类似的讨论

反馈:我最终编写了 graphml 并使用 yEd 进行可视化(只是因为我熟悉这种组合。我敢打赌 gephi 或 graphviz 会工作得很好,甚至可能会更好)。由于我计算了所有节点的位置,因此内存并不是什么大问题。与编码 svg 相比,编码 graphml 更容易一些,因为我不必明确指定边的位置。