Graph visualization

There are several visualization methods. For example, you can visualize the adjacency matrix or visualize nodes and links directly (node-link diagram). Node-link diagrams are in general more beautiful but they are not necessarily the best method.

Techniques and tools

Web

Python

Jupyter

Not a lot of usable tools.

Desktop

Recommended

Maybe for some special occasions

Dynamic network

Visualizing large graphs

Usually upper limit for the simple node-link viz is an order of 1k, when the graph is sparse. 500 or less is better. Cytoscape & Gephi are usually the standard tools (Gephi seems to be a bit faster but not well maintained) but it will be hard to visualize a graph with 10k or 100k nodes with these tools. Be sure to clarify what information you want to get from the visualization. Even if you can “visualize” it somehow, most likely you will just get a Ridiculogram. So, I’d strongly urge you to:

  1. Clarify what you really want to get from the visualization.
  2. Try to reduce the graph. There are two main approaches: coarse-graining (e.g. finding Community structure and consider each community as a node) or removing less important nodes and edges (e.g. applying k-core filtering with small k value, such as 1 or 2, may already give you a small enough network that you can visualize).
  3. Iterate.

If the network density is a problem, not the number of nodes, then you may think about filtering edges. If the network is weighted, one can filter weak edges to remove clutters. Probably the most ruthless filtering is Minimum spanning tree or maximum relatedness graph (see Googling social network paper). There are several methods available: see Weighted network.

If you still want to cram in as many nodes as possible, I think you may want to take the similar approach to the Paperscape visualization — forget about the edges and try to position the nodes based on whatever connections you end up. (you can show ‘backbone’ edges maybe) You may want to have some notion of clusters for the nodes to have a relevant annotation (Community structure).

See also Large Graph Visualization Tools and Approaches

File formats

Links

Articles

Examples

Visualization