Latest Tweets
Follow me on Twitter
Víctor Pascual-Cid

Deterministic layout for large graphs: Hive Plots

Posted: 17/06/2012-Likes: 0-Comments: 0-Categories: Visualization-Tags: d3, graph, hive
You are here: ...
Home / Blog / Visualization / Deterministic layout for large graphs: Hive Plots

Hive plot from the Flare package created with D3

I’ve recently come up with a new type of graph layout pretty interesting: Hive plots published in journal Briefings in Bioinformatics

Krzywinski M, Birol I, Jones S, Marra M (2011). Hive Plots — Rational Approach to Visualizing Networks. Briefings in Bioinformatics

Most force-directed layouts use to generate hairballs when facing large and highly connected graphs as such highly connectivity makes most of the nodes in the network to pull each other creating very cluttered and difficult to understand representations.

Hairball generated with Gephi with the dataset “internet routers”

Hive plots attempt to solve this problem by providing a set of axis upon which nodes of the graph can be ordered according to a specific measure or centrality.  Edges are then drawn as Bezier curves, which can be color coded to provide further information about the relation between nodes.

Nodes are located along an axis decided by the user according to a specific measure or centrality while edges between them are drawn using Bezier curves (image taken from

According to the authors:

hive plots are excellent at managing the visual complexity arising from large number of edges and exposing both trends and outlier patterns in network structure

To me, one of the most important features of this visualization is that it creates deterministic graph visualizations, meaning that, contrary to what happens with force-directed layouts, the graph structure remains unaltered between algorithm runs.

The authors provide a Java program to generate Hive plots, although the most beautiful implementation that I’ve seen so far is the one provided by the awesome javascript package D3.

You can read more about Hive plots at

Prev / Next Post

Add comment