title: Graph auto-layout algorithm
body: <p>To simplify the problem, I have a graph that contains nodes and edges which are on a 2D plane.</p>
  
  <p>What I want to be able to do is click a button and it make the automatically layout the graph to look clean. By that I mean minimal crossing of edges, nice space between nodes, maybe even represent the graph scale (weighted edges).</p>
  
  <p>I know this is completely subjective of what is a clean looking graph, but does anyone know of an algorithm to start with, rather than reinventing the wheel?</p>
  
  <p>Thanks.</p>