Drawing graphs (vertices and edges) with or without technology Given a collection of vertices $V$ and a collection of edges $E \subseteq V\times V$, is there an algorithm or program that will allow you to draw a nice graph? The placing of the vertices is very important, but I don't know how to determine where they should go. I'm hoping there is a program that will take $V$ and $E$ as inputs and will then generate a nice looking graph.
 A: Consider GraphViz, a quite complete package for graphing graphs. It tries to position vertices so as to minimize edge crossings, and in general give a "nice looking" graph. It handles several different forms, and handles graphs with thousands of vertices.
A: There is linear time algorithm which will draw planar graph. It will put vertices on some lattice points of not so big grid and edges will be line segments if I remeber it correctly (use google). It is pretty nice drawing.
Biggest question is what is your idea of "nice graph drawing" I doubt there is algorithm for aesthetics.
I like graphthing for drawing graphs it can find some basic graph properties for you, but you have to place vertices yourself.
There might be other programms, some of them might allow scripting.
A: Probably all programming language have at least on library for drawing graphs. In R and Python iGraph implement many different drawing algorithms.
If you prefer userend software I usually use cytoscape or gephi.
Anyhow I fear your question is way too much general. What do you mean with "beautiful"? How many edges and nodes your graphs have? What kind of data they represent?
