Graph Visualization

I am looking for a good application or library for graph (as in network) visualization.  I need to be able to visualize very large graphs so the static graph rendering approach does not work.   Want something dynamic where can focus on local context while navigating the graph.  Something a bit more sophisticated than this for instance.    I’d like to have a notion of weight and direction on the graph.   Ideally should be able to take graphml as input.

Ran across some visualization libraries:

  1. Protoviz (beautiful rendering and graph ideas)
    It looks like a bit of work, but with some code could probably use this library as a basis for interactive exploration.   Perhaps too much work for my busy schedule.  There are a number of examples that give me ideas for other visualizations.
  2. JUNG (I already use this for graph analysis, but not for visualization)
    Visualization is not terribly pretty but functional.   Is not dynamically oriented.
  3. ThinkMap
    These guys were one of the first I saw on the web (maybe 10 years ago) with a dynamic graphing technology.  It was flash based at the time.  Now it looks like they are using Java.   Strangely, their java UI is much inferior to their prior flash API.
  4. Flare (Flex / Flash based API)
    The graph layouts appear to be dynamic, but require quite a bit of code.  The code is actionscript based.   Hmm, don’t want to go there.

I’m sure there are others.   Just some random ones ran across …

Shane Conway pointed me to his rwebvis package for R that provides a R interface to rendering with Protoviz (amongst other web based renderers).   Looks like it is just what I need (thanks)!   Protoviz requires some programming, however the level of abstraction seems about right for something this flexible.



Filed under strategies

6 responses to “Graph Visualization

  1. For what it’s worth, I highly recommend protovis. It’s actually fairly easy to use, and under very active development/usage. Since you’re already using R, you might also be able to get part of the way there with some of what you need from the webvis package. And feel free to make enhancement requests through the google group (all listed on the homepage:

    You can try this for a demo, but look at the help files for more:

    install.packages(“webvis”); library(webvis)

    • tr8dr

      Took a look at the project. Very nice. Composing the visualization tree in R is much preferred to doing the same in javascript.

      I guess I need to learn the Protovis grammar.

      I suppose if I want to make it interactive would involve inserting some js in there. I can probably get by with a large scrollable canvas …

      • Yes, there are certain problems with the package as it currently stands (as I see it, at least); just haven’t had the time to finish it. I’m happy to work on it if you have specific feedback/requests. Jeff Ryan is also starting to work on it.

        But it can get you part of the way there towards producing the javascript; you will need to layer additional javascript on top to add interativity (or, again, ask us if we can create an R wrapper for whatever you’re trying to do).

  2. Not sure if you’re considering commercial software but, if you are, you may find interesting.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s