[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:
http://sixdegrees.hu/last.fm/interactive_map.html
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
them.
> 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.
--
Tamas