Summary: Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks.
Author: John Pierce
Owner: John Pierce (jrp)
Co-maintainers: <None>
PackageInfo name: <Not entered>
RSS feed:



1. You must download and install GraphViz from for your platform (Win32, Unix, Linux, or Mac OS should be supported). The binaries (e.g. dot, fdp, neato, twopi, dot2gxl) should be in your environment path as well.
2. On the Unix or Mac platform you need to have the OSProcess and CommandShell Squeak packages installed as well. OSProcess is only known to work in Ian's Unix VM for Mac OS. The predominant Mac VM by John M. McIntosh probably doesn't work with this package yet (get Ian's VM at
3. If you want to update your graph model with the node coordinates from running GraphViz then you must install the YAXO Squeak package as well so that #doLayout on a GraphViz object will work. This is purely an add-on right now so if you don't have YAXO, no biggie -- just don't call #doLayout.

Background Loader

Graph visualization is a way of representing structural information as
diagrams of abstract graphs and networks. Automatic graph drawing has
many important applications in software engineering, database and web
design, networking, and in visual interfaces for many other domains.

The Graphviz layout programs take descriptions of graphs in a simple
text language, and make diagrams in several useful formats such as
images and SVG for web pages, Postscript for inclusion in PDF or other
documents; or display in an interactive graph browser. (Graphviz also
supports GXL, an XML dialect.)

Graphviz has many useful features for concrete diagrams, such as
options for colors, fonts, tabular node layouts, line styles,
hyperlinks, and custom shapes.

In practice, graphs are usually generated from an external data
sources, but they can also be created and edited manually, either as
raw text files or within a graphical editor. (Graphviz was not
intended to be a Visio replacement, so it is probably frustrating to
try to use it that way.)

So basically, the Squeak interface provided here makes it fairly
straightforward to generate the "dot" language file that the GraphViz
command line programs use as input to create the graphs. For
references on the "dot" language you can go to the graphviz web site
mentioned above.

Several examples are provided in the Squeak package if you look at the
class side of GraphViz or inspect my test cases. Graphing Smalltalk
class hierarchies and/or class references has been a source of delight
as well as using this program to graph many relationships pertinent to
my business data.

Lastly, GraphViz will generate SVG output formats as well. I found a
very cool Java-based Zoomable User Interface built specially to
navigate large graphs generated by GraphViz called ZGRViewer
( Then you can open the Java ZGRViewer program and surf around the graph file this is generated by Squeak. Very cool for looking at large models!