One of the most frequent questions I get from readers of this blog is: can you recommend a graph visualization package? In general, I've always liked to roll my own - many of the layouts available in packages out there are much alike, so if you are interested in novel visualizations you would probably have to do this anyway.
I've not had time to really look at all the possibilities out there and really find one that I recommend. That being said, my most common answer is to take a look at GUESS, a system created by Eytan Adar at the University of Washington (and co-chair at ICWSM 2008).
If you do feel inclined to dig a little deeper in your evaluations, here are some things I would recommend looking out for:
- Does the package allow you to provide a simple per-line file of data points describing the graph? This would be the quickest way to evaluate anything?
- Does the package allow you to abstract the data layer and, for example, implement a database backed graph?
- Does the package provide multiple layout options?
- Does the package allow a clean API for adding your own layout managers?
- How quickly does it layout the data?
- Does it produce the same layout in repeated applications of a layout manager and the same data? Many layouts use some amount of randomization, but repeatability is key to good data visualization, so if a layout produces different results when applied repeatedly to the same data, it is a dud in my book.
- How much data can it handle? Of course, this will be determined by your application, but intuition suggests that if it can handle large volumes of data it will be better engineered.
- Does the package allow for graph computations (e.g. distance between two nodes)?
I've never seen GUESS before. I happen to like Prefuse a lot, and it definitely meets all your criteria (except maybe the part about a clean layout manager API). Prefuse does look a lot more programming-intensive than GUESS, but I happen to like implementing my own custom features and don't mind coding it up.
I'll definitely give GUESS a look, though.
Posted by: Darius K. | August 07, 2007 at 04:59 PM