Library for 3d network visualization and manipulation

693 views
Skip to first unread message

Deepa

unread,
Apr 9, 2008, 2:20:08 AM4/9/08
to networkx-discuss
Hi all,
Pls tell me which is the best python library for visualising
graphs (probably include >3000) nodes along with 3d visualisation..I
started with networkx library, but it seems too slow.
So started with igraph.. But it seems to be very difficult.For eg:-
There is a function in igraph package like
Read_Edgelist(filename,directed=True) function to create a graph from
a file.But in the docs, they are not telling wht is the format of the
file..I tried many times, but failed..
PLs tell me which is the best one so that i can start my
project ..This is very very urgent.
Pls help me..

Also if I have to use networkx, pls tell me whether 3d drawing is
possible in it..and whether i hv to import any other package..

Iam also expeting any useful links to your suggestions..


THanx in advance...

Dan Schult

unread,
Apr 9, 2008, 4:03:44 PM4/9/08
to networkx...@googlegroups.com
I'll try to answer below, but first a question: What do you expect to
see when visualizing a graph with >3000 nodes? Almost certainly
there will be a large mass of dots and lines that looks like an ink-
blot.
You should at least think about what you are trying to gain and perhaps
work toward visualizing important portions of the graph instead.

Having asked that, I'll attempt an answer to your question.
There are two parts of visualizing graphs: the layout of the nodes
and the presentation (labeling/coloring/etc.) I like the layout
qualities
(speed and quality of layout) available with the GraphViz library
which can be accessed from networkx using pygraphviz. I like the
presentation flexibility of matplotlib especially as made available
through networkx. (Of course, I am biased... I know networkx pretty
well :)

3D layout is possible in networkx if you dig into the layout options
far enough.
Presentation requires 3D rendering software which matplotlib doesn't
provide.
But there are other python packages for 3D such as VTK. A quick google
search of "networkx 3d" provides some documentation for a basic vtk
module:
https://networkx.lanl.gov/reference/networkx/networkx.drawing.nx_vtk-
module.html

Good luck-- visualizing >3000 nodes when the project is "very very
urgent" is
not a pleasant task to attempt.
Dan

Aric Hagberg

unread,
Apr 9, 2008, 5:31:50 PM4/9/08
to networkx...@googlegroups.com
On Tue, Apr 08, 2008 at 11:20:08PM -0700, Deepa wrote:
>
> Also if I have to use networkx, pls tell me whether 3d drawing is
> possible in it..and whether i hv to import any other package..
>
> Iam also expeting any useful links to your suggestions..

One thing to note is that the goal of NetworkX is not primarily to
draw graphs. So we don't expect to add the capability of drawing
large graphs in 3D. But we do provide some drawing (with matplotlib)
and options for writing your graph to a file in formats that other
tools might understand: edgelists or adjacency lists, dot (with
pygraphviz or pydot), GML. If there is an output format you would
like that isn't implemented we might be able to add it for you.

Aric

Chris Myers

unread,
Apr 9, 2008, 5:38:56 PM4/9/08
to networkx...@googlegroups.com
Another package you might consider for 3D layout is tulip (www.tulip-software.org
).
It is not python-based (it's a standalone program with its own GUI),
but it
will read GML, dot, and adjacency matrix formats (which you could output
from NetworkX).

Chris

Deepa

unread,
Apr 11, 2008, 2:38:07 PM4/11/08
to networkx-discuss

Dear Dan, Aric and Chris
THanks for the reply..Iam trying to model a bioloical network ;
where i have to find out the important nodes based on some
calculations. I thought of displaying the nodes and to make it event
driven ; ie, when mouse is moved over a node, its name(little lengthy)
will appear in the status bar....Your suggestions added my confdence
that i can do this project using networkx. Now iam learning networkx
and hope will be having some doubts in the future..which i will post
here..
thanx for the information given on the packages that i may have to use
You people are doing a wonderful job by helping beginners like me.
> > Aric- Hide quoted text -
>
> - Show quoted text -
Reply all
Reply to author
Forward
0 new messages