Does anyone know of a good program for drawing directed weighted graphs?

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



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 copyandpaste into your own LaTeX file, and then modify for your own purposes. 


Try Graphviz  it's open source and quite flexible as far as usage is concerned. It's good at automatic layouts etc, where for example Maple would make a mess of things. 


I love TikZ. It is a very sophisticated LaTeX package from the same author who wrote Beamer. It takes a bit of getting used to, but once you have your collection of examples, it is extremely efficient and produces very cleanlooking and portable graphics. See www.hairer.org/Archive.zip for a few examples. 


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


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



You could write a Haskell program to generate your diagrams. See projects.haskell.org/diagrams. 


One thing I've been missing from graphviz is being able to do more programming (at least, being more flexible in changing the shapes for abstract types of nodes and arrows). Then, I knew there is the powerful diagrams library in Haskell, which however didn't give me straightforwardly the feature of arranging the nodes automatically, as graphviz would do. (Although this must be implementable, of course, but going for a simpler solution, I'd like to use the existing graphviz code.) I'd like to be closer to the simple graphviz usage model. So, as for my wish for programming a "device" like graphviz I seem to have found a solution which combines two ideas mentioned here in the answers: Haskell+graphviz! If we want to program diagrams in Haskell, it's not necessary to use
A short example of the monadic notation from the documentation:
Some overview of the relations between the existing Haskell graph packages and graphviz: [Haskellcafe] Generic Graph Class. graphviz Haskell library and other onesAn alternative to "graphviz" Haskell package mentioned in haskellcafe is dotgen. In a followup to the post mentioning
Both points are related. (So, graphviz's monadic iterface is a safer improvement upon dotgen's one.) Considering dotgen vs graphviz closerBut looking into the examples, I see that I like the first approach more ("Haskell ids"). Cf. dotgen (from https://github.com/kufpg/dotgen/blob/master/test/DotTest.hs):



https://networkx.lanl.gov/trac has a lot of options 


Try programming in R for various types of Graphs and Data Analysis. The R Graphs Cookbook is an essential. You'll find it here. 


you can use $newgraph1.1.3$ for drawing and analysis every graphs. It is very good free software. 


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. 


I have used CaGe for some basic planar graphs. 


Visual Studio has a powerful Directed Graph document (dgml) creator and viewer. It is highly configurable with styles / legend etc. but if you want to generate graphs from a data model it is quite good but there is a bit of a learning curve. I believe (don't quote me on this) that the free versions of Visual Studio do have support for it. Disclaimer: I work on features for Visual Studio close to this; 


Paul Gastin (LSV, Cachan), developed a package named GasTeX in order to simplify graphs and automata designing in TeX. Further informations, documentation and CTAN links on http://www.lsv.enscachan.fr/~gastin/gastex/ Hope it will be of any use. 


GrafEq is light yet usable, it specializes on drawing 'doggy' ones with the lines become really dense. And it's totally free. 


You might try the combinatorial algorithms software Catbox of Alexander Schliep and Wilfried Hochstättler. You can find it via Alexander's homepage. 

