ForceAtlas2, the new version of our home-brew Layout

The new version of the build-in layout ForceAtlas is now released. It is scaled for small to medium-size graphs, and is adapted to qualitative interpretation of graphs. The equations are the same as ForceAtlas 1, but there are more options and innovative optimizations that make it a very fast layout algorithm.

It is good enough to deal with very small graphs (10 nodes)  and fast enough to spatialize 10,000 nodes graphs in few minutes, with the same quality. If you have time, it can deal with even bigger graphs.

Update Gephi (Help > Check for Updates) to get this new layout.

Force Atlas 2:

  • Is a continuous algorithm, that allows you to manipulate the graph while it is rendering (a classic force-vector, like Fruchterman Rheingold, and unlike OpenOrd)
  • Has a linear-linear model (attraction and repulsion proportional to distance between nodes). The shape of the graph is between Früchterman & Rheingold’s layout and Noack’s LinLog.
  • Features a unique adaptive convergence speed that allows most graphs to converge more efficiently
  • Proposes summarized settings, focused on what impact the shape of the graph (scaling, gravity…). Default speed should be the good one.
  • Now features a Barnes Hut optimization (performance drops less with big graphs)

 

 

Force Atlas 2 features these settings:

  • Scaling: How much repulsion you want. More makes a more sparse graph.
  • Gravity: Attracts nodes to the center. Prevents islands from drifting away.
  • Dissuade Hubs: Distributes attraction along outbound edges. Hubs attract less and thus are pushed to the borders.
  • LinLog mode: Switch ForceAtlas’ model from lin-lin to lin-log (tribute to Andreas Noack). Makes clusters more tight.
  • Prevent Overlap: Use only when spatialized. Should not be used with “Approximate Repulsion”
  • Tolerance (speed): How much swinging you allow. Above 1 discouraged. Lower gives less speed and more precision.
  • Approximate Repulsion: Barnes Hut optimization: n² complexity to n.ln(n) ; allows larger graphs.
  • Approximation: Theta of the Barnes Hut optimization.
  • Edge Weight Influence: How much influence you give to the edges weight. 0 is “no influence” and 1 is “normal”.

 

 

Force Atlas 2 was created by Mathieu Jacomy at the Sciences Po Médialab (Paris), founding member of the Gephi Consortium.

OpenOrd: New layout plugin, the fastest algorithm so far

openorb1-300x300

A new force-directed layout algorithm plugin named OpenOrd has just been released. It is one of the few force-directed layout algorithms that can scale to over 1 million nodes, making it ideal for large graphs.

Features:

  • Very fast, scales to millions nodes
  • Can be run in parallel, run it on multicore processors
  • Aims to highlight clusters

Install it directly from Gephi (Tools > Plugins > Available Plugins) or download it from the Plugin Center. Longer description and source code can be found directly on the plug-in page.

Below is a small demo of how fast this algorithm is layouting a 10K nodes network, and only using one processor.

OpenOrd Layout Demo in Gephi from gephi on Vimeo.

The algorithm original design and implementation can be found at this address. Kudos to the authors!

Label Adjust

The Label Adjust functionality is a special type of algorithm. It is available through the Spatialization menu but instead of working with nodes position it works with labels. The aim is to automatically avoid label overlapping.

Gephi is built to produce readable maps, which can be published or printed. By default, if a network has more than 1000 nodes it becomes hard to read and even more if labels are displayed. With the Label Adjust algorithm, the boring work when you manually move each node of the network vanished.

When running, the algorithm slightly moves nodes where labels are overlapping. For instance with long labels like URLs this functionality is really time-saving, and it is easy to use. Display labels as you want (font, size, color, …) and start the algorithm. It automatically stops when its detect no more label overlapping, but you can also stop it by hand.

Here is a small demo video of the feature running. Needless to say the algorithm is designed for larger networks.

http://vimeo.com/moogaloop.swf?clip_id=2242916&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1

This functionality is important when exporting map results in Gephi. The standard process of publishing network maps in Gephi would be something like that:
1. Spatialize the network, using for instance Force Atlas algorithm.
2.Use filters to set nodes color and size depending of the network data.
3.Display labels and set text settings.
4.Use Label Adjust to makes all labels readable.
5.Export.