Hacked on dotviewer that was developed for PyPy but is now a standalone tool. My changes are in a Bazaar branch created with bzr-svn. Get it here:

bzr get https://mg.pov.lt/dotviewer-mg/

Try it out

cd dotviewer-mg
./dotviewer.py sample2.dot

See the changes

bzr vis

Overview:

  • Supports more .dot features.
  • Nicer node highlighting.
  • Easier panning for one-mouse-button users (Shift+drag).
  • Better edge navigation close to the borders of the graph.
  • Renders small fonts too.

Then I hit some limitations: it's either impossible or very hard to get pretty anti-aliased output or smooth text scaling with Pygame. It's impossible to support all dot features using the plain intermediate format.