[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [igraph] Large Network Visualization in Igraph

From: Tamas Nepusz
Subject: Re: [igraph] Large Network Visualization in Igraph
Date: Tue, 5 Oct 2010 11:51:05 +0100

Dear Lorenzo,

> Suppose you are given a large (about 10^5 nodes), but sparse network.
> Is Igraph still a suitable tool for visualization?
This visualisation was created with igraph (Python interface) and some custom 
Python code that calls Cairo in the background:


I needed custom Python code instead of the built-in graph plotter in 
python-igraph because of the following:

1. I had to use a Unicode TrueType font (not the one built-in in Cairo) because 
some of the labels included Japanese/Chinese/Korean characters.

2. I wanted to include images in the background of each node (tinted to a 
specific color), and this was (is) not possible with the default graph plotter 
in python-igraph.

3. I also wanted to add a drop shadow to each node.

4. I had to handle text wrapping for the node labels, and this was far from 
being straightforward.

But note that the whole visualisation is static, the map is generated at 
different resolutions and then cut to tiles which are loaded on-demand at the 
right time in the right size/position by Microsoft's Seadragon engine. So it is 
not fully interactive, e.g. you cannot drag the vertices around or click on 

> I wonder if
> (1) Igraph+eventually Cairo is able to handle this and produce vectorial pdf 
> files
Yes, it can. See the visualisation I mentioned above; I managed to generate PDF 
and SVG versions of it, of course they are HUGE, but it's still doable. I know 
about a few people who printed this visualisation in A0 size and it seemed good.

> (2) is there any possibility of generating, if not the interactive 
> visualization in igraph, at least an output file which can be fed to pajek, 
> gephi (http://gephi.org/) or  cytoscape?
igraph can save graphs in Pajek's format. Cytoscape can read GraphML or GML 
files, both of them can be created by igraph. Not sure about Gephi, there seems 
to be a lot of hype around it recently, but my experience is that both Gephi 
and Cytoscape struggle when you try to load a graph with more than a few 
thousand nodes -- but again, I didn't experiment with them too much and it 
might be possible that I'm just simply not using the right parameters for the 
Java virtual machine. One key problem is the layout of the graph, the built-in 
layout algorithms in Cytoscape and Gephi seem to be slower than igraph's DrL 
layout, so maybe it's better to calculate the layout in advance in igraph and 
then transfer that layout somehow into Gephi or Cytoscape if that is possible 
at all.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]