# What software is used to draw undirected graphs?

I need to make a nicer-looking version of this image:

Is there some program that generates these graphs? Or are they done by hand in something like Visio?

(I'm on Mac OS X, and I have access to Windows if needed)

-
I use gastex or MetaPost. – Yuval Filmus Apr 7 '11 at 21:41
See also this post on meta. – Martin Sleziak Sep 19 '15 at 5:40

## 7 Answers

Try Graphviz.

-
I quickly figured out the DOT language and made the graph as I wanted it. Thanks! – Ricket Apr 7 '11 at 22:11
If it's not too much trouble, would it be possible for you to include an example of the above graph drawn by Graphviz? – Douglas S. Stones Jan 4 '13 at 5:22

If you use $\LaTeX$, tikz is very nice for making graphs (I use it all the time to make commutative diagrams).

Otherwise one could use pretty much any vector graphics program, for example the free (as in freedom and in beer) inkscape.

There's also dia, though it is more for UML-like diagrams.

-

Sage can generate graphs. It's like Mathematica/Maple but it's open source and free.

-

The igraph library for R allows you to plot graphs. Combined with tikzDevice, it can also produce LaTeX output of the plots.

Here's an example:

The graph itself was produced using the R code

g <- graph.empty() + vertices(letters[1:3])
g <- add.edges(g,c(1,2,2,3,3,1,2,2))
g <- as.undirected(g)


and was plotted to a LaTeX file using the R code

tikz("~/Dropbox/Thesis/Thoughts/temp.tex",standAlone=FALSE,width=4,height=4)
plot(g,layout=layout.fruchterman.reingold,vertex.size=30,edge.width=3,edge.color="black")
dev.off()

-

I've found Gliffy to be a great method of doing this, and it has the advantage of being totally web based--nothing to install or screw up across operating systems.

-

Since no one else has mentioned it yet, yEd, a free diagram/graph editor.

-

Try Gephi is a open source mac for graphs....http://gephi.org

-