Take the 2-minute tour ×
MathOverflow is a question and answer site for professional mathematicians. It's 100% free, no registration required.

Hi, does anyone know of a good program for drawing directed weighted graphs?

Thanks

share|improve this question
1  
What do you mean by "drawing weighted graphs"? That is, what is the significance of the weights? Edge labels? –  Igor Rivin Feb 12 '11 at 14:46
    
Question is imprecise: does the OP want a program that will produce an automatically generated pleasing layout of a graph on the screen? Or a program to interactively manipulate a displayed graph? Or a program to create a diagram for inclusion in a published paper when the actual layout is already known? –  Gordon Royle Dec 17 '11 at 2:23
add comment

10 Answers 10

Try Sage - it's open source and can draw weighted directed graphs. For example:

A = random_matrix(ZZ,6, density=0.5)
G = DiGraph(A, format='weighted_adjacency_matrix')  # graph from matrix
H = G.plot(edge_labels=True, graph_border=True)
H.show()             # display on screen
H.save('graph.pdf')  # save plot to vector pdf for inclusion in a paper
share|improve this answer
    
By the way, Sage uses NetworkX, which was mentioned in another answer. –  William Stein Feb 12 '11 at 18:43
1  
You can also use NetworkX directly within Sage to have more control over your plotting options. (Sage's Graph class is a wrapper which hides a lot of functionality and is not compatible with the advanced plotting tools.) –  Derrick Stolee Feb 13 '11 at 14:44
add comment

Try Graphviz - it's open source and quite flexible as far as usage is concerned.

http://www.graphviz.org/

It's good at automatic layouts etc, where for example Maple would make a mess of things.

share|improve this answer
add comment

Check out PGF/tikZ, which is freely available, and interacts extremely well with TeX and LaTeX.

You can find examples here, examples of graphs here, and a nice manual here.

A nice feature of the examples web page is that you can click on each example to get access to the code, which you can then copy-and-paste into your own LaTeX file, and then modify for your own purposes.

share|improve this answer
add comment

To supplement William Stein's useful answer, here is a graph produced by running the code he displays:
          Sage Graph

share|improve this answer
add comment

Mathematica is quite good these days and exports in a bazillion formats.

share|improve this answer
    
Yup. It makes a great, and often successful, effort at picking an embedding showing relevant features. –  Mariano Suárez-Alvarez Feb 13 '11 at 1:36
add comment

you can use $newgraph-1.1.3$ for drawing and analysis every graphs. It is very good free software.

share|improve this answer
add comment

Very simple, and easy to use for small graphs: GraphThing. It is in Ubuntu repositories. Here is home page: http://graph.seul.org/ It even computes some simple parameters.

share|improve this answer
add comment

I have used CaGe for some basic planar graphs.

share|improve this answer
add comment

Try programming in R for various types of Graphs and Data Analysis. The R Graphs Cookbook is an essential.

You'll find it here.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.