Chris Harrison, author of ClusterBall, has produced Wikiviz, a series of graphs exploring the links within Wikipedia articles. As he explains: "Wikipedia is an interesting dataset for visualization. As an encyclopedia, its articles span millions of topics. Being a human edited entity, connections between topics are diverse, interesting, and sometimes perplexing - five hops takes you from subatomic particles to Snoop Dog. Wikipedia is revealing in how humans organize data and how interconnected seemingly unrelated topics can be".
Layout is done using a spring model which constant and optimal spring length can be adjusted. Overlapping nodes are nudged apart using a separate, non-spring-based method. The code base is under a thousand lines of Java code, and was whipped together a few hours at a time over the course of a week. Tweaking the layout code (dampening, overlap detection, etc.) consumed most of that time. Although called WikiViz, there is nothing specifically Wikipedia about it. It's a general graph layout and render engine that can be used with many sources.
Initially, the graph was rendered real-time on screen. With about 1000 edges, the graph was interactive. However, as Harrison pushed the edge count into the tens of thousands, it became clear that watching the graph balance into an energy minimized state was going to take serious processing time (hours). Not only was each iteration taking about half a second (2 fps), but the number of iterations required to properly layout the graph was large (tens of thousands). It was clear that the computation needed to be run non-graphically and saved to file when complete. This also allowed him to escape the low resolution of monitors and produce high-resolution images (20,000x20,000 pixels or more).