Where are the Visualization Tools?

Toolbox

I got several requests in the last few days about tools for doing visualization and visual analytics. Looking around, I don’t see a lot of good, affordable (or free) visualization software. There are lots of papers, but few of those programs are available. And those that are often are of very low quality, very limited in their functionality, and are not being maintained. Please help me collect links to visualization tools that let people with data experience that visualization magic.

There is a demand for visualization software; I was reminded of this when the Parallel Sets were mentioned on a BBC website without even a link, and I kept (and keep) getting emails from people wanting to try it out. We’re still working on releasing the program by the end of the month, and things are looking good so far.

One commercial program that comes to mind, of course, is Tableau. I use the program in my Visual Analytics course, and I’m amazed at what my students are able to do with it. It is also a beautiful example of a commercial product that is strongly based on academic research, and where the company stays tightly in touch with the research community. While there is no doubt about its quality and usefulness, its cost makes it less of an option for a lot of people (especially academic users).

What comes closest to Tableau in terms of free software is Chris Weaver’s Improvise. I have to admit to not having tried it out myself yet, but his list of examples is very impressive. Chris warns that it is research-grade software with known bugs, but I know Chris uses it himself a lot, so it probably is rather useable.

Here are some smaller programs, all incidentally written in Java:

  • Mondrian. Includes parallel coordinates, mosaic plots, bar charts, scatterplot, scatterplot matrix, and a few more. I find it hard to use, but I’ve seen its creator, Martin Theus, do magic with it.
  • ParVis. Perhaps the best implementation of parallel coordinates. Allows easy reordering of dimensions, inversion, etc., and does anti-aliased rendering in the background.
  • SpaceTree. Interactive tree visualization. One of the most refined programs out there, and a great visualization technique at that.
  • TreeViz. More tree visualizations, includes techniques like icicle plots, treemaps, hyperbolic trees, sunburst, etc. I use this for demos in class, and it’s a good program to have around to try things out.

There are also toolkits for rolling your own, like Jeff Heer’s prefuse (for Java) and flare (for Flash/Flex) toolkits. Prefuse is great, but severely lacking good documentation. There is some sample code, and you can read the papers, but more documentation would make prefuse so much more useful. There are others, but those that I know haven’t been maintained in many years, so it makes little sense to build new programs on them.

Many Eyes and Swivel are there as well of course, though the fact that uploaded data becomes public (except for Swivel’s new business edition) makes them less appealing. Especially when the data is proprietary or unpublished, and you want to figure out if this visualization thing is of any use to you, you probably won’t want to take that risk. Many Eyes’s variety of visualization techniques is great to get an idea for what is potentially available, though.

What else is there? Please post your suggestions below, for free or commercial software. I will put together a page with all the programs, and provide some classification to make it easier for people to decide what to look at. I am temporarily lifting the ban on posting links for people who have not signed up for usernames (which I had to do because of the amount of spam I was getting). I will closely monitor this though, and I will delete spam links.

Comments

  1. Zach says

    The JuiceKit (www.juicekit.org) is an open-source Software Development Kit for building  graphically rich and interactive information displays. The JuiceKit integrates with Adobe Flex to create components that are easy to implement and aesthetically pleasing. Components of the JuiceKit include controls, visualizations, and utility classes.

  2. Matthew Cornell says

    Esp. network visualization tools. Performance is a problem, of course, so being smart about filtering using domain knowledge is crucial. Not in programming anymore, so it’s not as much a thorn in the side :-)

  3. Tin Seong KAM says

    I use Tableau too. If you like Tableau, you might want to take a look at Panopticon, especially TreeMap and Horizon Graph.

    For the Open Source I would like to recommend GeoVista Studio and GAV.  Both of them also provide interactive map visualisation.  My students were able to design and implement very effective visualisation application for regional development study.

  4. Martin Theus says

    Many of the tools mentioned so far compare like apples and oranges. There is a big difference for the actual user of visualization tools between tools that are ready to use and solutions that have to be build upon toolboxes. 

    That takes me to a – what I think – very important point: The user’s view. Most users of visualizations won’t have the skills (or patience) to build customized visualizations out of toolboxes. No doubt, the examples Chris’ built with Improvize are impressive and the wealth of interaction options we can choose from is huge. But when we sat down over a beer at a workshop evening to look at a new dataset, we didn’t actually get far even after an hour – and this was not a tribute to the beer! Things get probably even harder when we would use prefuse and need to write JAVA code.

    Another point is the distinction between general purpose tools (that try to cover as many data problems as possible) and special purpose tools which “only” support a very narrow range of data problems (but these in the most optimal way).

    Maybe the two above mentioned points are good dimensions along which we can classify the tools listed here.

    As a statistician, I would throw in two more tools:

    • DataDesk (The “mother” of all interactive statistical graphics)
    • ggobi (a tool that is specialized in high-dimensional continuous data)
  5. Lynn Cherny says

    Also for the stats-minded, you may want to include SciLab, which is open-source.

    http://www.scilab.org/platform/

    I agree with Martin’s comment above – there is an enormous overhead to using something like Prefuse (or Flare).  Even Processing, written for the programmer novices, has quite the heavy learning curve to start with for data work, as Ben Fry’s O’Reilly infovis book on Processing illustrates. 

    Regardless: http://www.processing.org/

    But while we’re on the subject of programming things yourself, Nodebox looks nice to me, although it is Mac OSX only and I haven’t played with it yet.  Processing, R, and Nodebox have less overheard than writing java does, for the novice programmer like me.

    http://nodebox.net/code/index.php/Home

  6. Robert Kosara says

    You’re right, I only realized that when people started posting links to Business Intelligence suites. I was thinking more of fairly small programs that you could run on some files you have lying around, not the db-centric, data warehouse kinds of things (though I realize that tools like Tableau can do both).

    But there’s a place for both, obviously. I’m trying to figure out a good way to structure such a list, so that people will find the things that make sense for them. It clearly doesn’t hurt to have a place where you can find a hammer just as well as some heavy-duty power tools (which you might not even want to buy, but rather rent; yeah, maybe I’m taking the metaphor too far).

  7. Jorge Camoes says

    Ben Shneiderman (http://www.cs.umd.edu/~ben/) links to several visualization tools, including the sonification of maps – this may interest you, now that you are interested musical structures :)

    A visualization tools Hall of Shame would be interesting too.

    Also some plugins for “He-Who-Must-Not-Be-Named”. like SigmaPlot.

  8. Joseph Cottam says

    Two programming focused tools that came to my mind are:

    Titan: VTK does infovis, the OverView tool provides a UI but there is an API as well.  I know it is built in C++, but Kitware provides VTK bindings for several languages and perhaps they will do the same for Titan soon.

    Stencil: My own research project, so take my comments with a bag of salt.  A programming language targeted at visualization creataion.  It is still a prototype, but it has been used in a few projects that are not my own.

  9. Anonymous says

    Just stumbled across this blog, and this is an old topic, so maybe no one’s listening…

    R is great for visualization. Once you learn the language and learn, for example, how to use the lattice package (this takes some time, but is very powerful once you know what you are doing), you are able to very quickly and powerfully create any kind of plot you can imagine. If you’re not willing to learn all that, I’m sure there are plenty of other very useful more wysiwyg-type programs out there.

    Another very strong plus for R is that usually you can get a lot more out of your data visually by doing something with it (such as transforming, modeling, etc). I can’t think of a better package that gives you complete freedom and many tools to work with the data and visualize it at the same time.

  10. Martin Theus says

    … I agree that R is a wonderful tool, but we are talking about visualizations which benefit strongly from interaction and animation here. None of the R packages has anything to offer on that part (less a fault of the packages, but more a problem of R’s rendering machine …)

  11. timvangelder says

    People interested in data visualization tend to think that or at least act as if visualization is all about data.  But the power of visualization can be applied to complex information structures other than “data” structures.  For example bCisive and Rationale are tools for visualising argumentation structures, and there are many other argument mapping software packages.  Of a more general nature is mind mapping, and the plethora of mind-mapping packages. 

    Such tools tend to use hierarchical or “tree” structures (though both bCisive and Rationale are based on the idea that argumentation needs “hi-tree” structures (a special case of higraphs for tree-like structures).  However there is nothing intrinsic in argumentation requiring restriction to tree or hi-tree structures; these are design choices made for many reasons, including UI-design reasons. 

  12. Warren Apel says

    TinkerPlots doesn’t do stunning publishable visualizations, but it is great for playing with data and figuring out how best to arrange and display it. 

    I also really like the Box Charter plugin for Excel.  If you’ve tried to build a box-and-whisker the Excel way – with error bars or box.gif image fills in a stacked bar graph – the free Add-in is totally worth the effort to install.

  13. Egg Davis says

    Any opinions on the InfoVis Toolkit? It looks promising (and looks like one of the only open-source frameworks to support parallel coordinates) but doesn’t seem to have been developed in several years, and I find that (even once I correct directory structures and so on) many of the example files don’t even run (is this just my experience or is it true for other people as well?)

    I’ve worked almost entirely in Processing for years, but I’m leaning toward a move to Flex with Flare — like it or not, Flash seems to have won the web deployment wars, and Flex is a big step forward in developing for Flash from a programmer’s perspective…and I have to say, with just a couple of days’ experience, Flex Builder seems like a real pleasure to use.

  14. Robert Kosara says

    I haven’t seen any activity in the InfoVis Toolkit in many years, I assume it’s abandoned.

    I haven’t gotten the hang of Flash, and I really like the language features in Java. Java also makes it easier to create an actual application that looks and feels like a native program. For purely web-based stuff, Flash is probably the better choice, though.

  15. Egg Davis says

    Oh, I agree entirely — ActionScript has always felt really kludgy to me, kind of conceptually incoherent. Flex is a big improvement, but AS would *never* be my language of choice. I’m turning to it only because of the deployment issue (and, I’ll confess, because Flare’s rather sexy).

Leave a Reply