13

I've looked at a number of packages for graph layout (Graphviz, Gephi, Cytoscape, NetworkX to name a few of the more prevalent) and none of them seem to scale to this sort of size. What techniques exist for either visualizing graphs of this size or reducing them to something more manageable?

sbirch
  • 871
  • 1
  • 10
  • 18
  • My guess is that the main computational bottleneck is the density. Have you tried clustering into "super vertices" first, plotting them instead? https://docs.google.com/viewer?url=http://www.elsevier.com/authored_subject_sections/P05/misc/Schaeffer.pdf – spenthil Nov 02 '10 at 03:53
  • I've tried some thinning out of my edges, but I don't really want to settle w/r/t nodes. That might be useful for a multiscale algorithm though -- thanks! – sbirch Nov 03 '10 at 19:40

3 Answers3

12

Gephi's OpenOrd visualisation plugin can layout millions of nodes.

HammerN'Songs
  • 201
  • 3
  • 13
Ollie Glass
  • 19,455
  • 21
  • 76
  • 107
  • Yes, Gephi looks very cool. Is there anything for .NET that can be embedded and doesn't have any dependencies on Java and can scale to millions of nodes? – Bent Rasmussen Jun 23 '16 at 14:18
0

Tulip is suited to exactly this, but it's rendering isn't very fast once you get to high numbers of nodes and edges.

Adam Miller
  • 1,756
  • 1
  • 25
  • 44
0

I've used the visualisation toolkit Processing for visualising networks of about 30K nodes. It won't have any problems rendering your nodes but you'll need to remove some of your edges, perhaps remove those with the lowest weight (if it's weighted), or, as suggested elsewhere, construct a hypergraph.

There's no networks library for Processing at this time, so there's no access to layout algorithms etc, you'll have to implement it yourself, bit it's pretty quick to do. I've been considering publishing a library to aid this kind of visualisation.

http://www.processing.org