问题
I have a text contains a graph with more than 3 millions nodes and I need to visualize this graph, I've looked for some tools to help me visualizing this graph but they can visualize up to 100K / 1M nodes. Can anyone suggest a way or tool to visualize such a huge graph ??
回答1:
You will have a hard time visualizing all your graph as a node-link diagram. Tools like Gephi or Cytoscape for example will not help you.
Furthermore, if you were to visualize such a huge graph, you would most likely end-up with something not very insightful.
You could use other techniques including : - local exploration : if you need to visualize interactively a sub-graph within your graph (http://fr.slideshare.net/Linkurious/graph-visualization-options-and-latest-developments) - hive plots : if you need to visualize relationships among all edges for a graph (http://www.hiveplot.net/)
I recommend reading this presentation about the interest of visualizing large graphs : http://fr.slideshare.net/mathieu-bastian/visualize-big-graph-data
回答2:
We built Graphistry for graphs that size and larger. It handles workloads that traditional browser libs cannot by automatically doing real-time layout, analytics, etc on the server, and uses GPUs on both the client & server to keep things snappy.
The backend handles those sizes, though most clientside GPUs do not yet. To get 1B graphs down to 1M nodes/edges level, we like to combine with a CPU lib like pandas, or better, a GPU graph compute lib like cuGraph, to algorithmically shape the graph (prune singletons, extract spines, etc.). Ex: https://github.com/RAPIDSAcademy/rapidsacademy/blob/master/tutorials/security/tour/Tutorial_2_covid_domains.ipynb . The Python client is handy here because you can use it straight from popular data science notebook environments: https://github.com/graphistry/pygraphistry .
Note that, while Graphistry can render (and make interactive) millions of edges, at some point, you run out of pixels, and traditional graph layouts fall down. So even when we can render big graphs, we find it useful to experimentally find a good layout algorithm (using the big renders), and still use some form of simplification for a shared result, or even deeper analysis.
回答3:
I realise this is an old question, but I thought I would point out an application that's specifically designed to interactively visualise larger graphs. This is Graphia. Disclaimer: I am involved in the development of this application. 100k nodes/1m edges is definitely on the bigger side and depending on your hardware probably at the limit of what can be rendered, but you should have much better results with Graphia than you would with either Cytoscape or Gephi.
来源:https://stackoverflow.com/questions/27368317/huge-graph-visualization