i’ve wanted to create some visualizations of event log data from my ctools project for quite a while now, but every time i thought about getting started, the idea of learning a new programming language or toolkit seemed like too much work for too little payoff. but when i decided to scale back my aspirations — i.e., admit to myself that i’m not the fastest programmer so producing a fully interactive looks-like-art visualization is beyond the scope of my dissertation project — i figured out an approach that just might turn out to be useful.
my objective is to make some pictures that will help me see patterns in the data, and help me communicate those patterns to others in presentations and papers. i’m NOT trying to create standalone interactive visualization applets to host on the web and allow others to explore the data.
what i really need is a way to produce some static visualizations that allow me to explore the data in more customizable ways than the usual graphing functions in statistical software allow. even the types of visualizations in manyeyes are too restrictive (plus i can’t exactly just up and put all this data online). for example, i’d like to create a series of images that show how a site’s file and folder hierarchy grows and changes over time, or perhaps illustrating which users access which files on a site most frequently, or where specific files are located in the hierarchy at different points in time.
i looked into a couple of options before settling on my approach: using Python to connect to MySQL and obtain query results, munge them appropriately, and then generate static SVG (scalable vector graphics) images. one nice thing about this approach is that i’ve been wanting to play around with Python for a while (and there’s a lot of documentation on the web), and SVG images can be opened and edited in Adobe Illustrator to prep for use in presentations.
some other approaches i considered:
- Processing, which i ultimately ruled out because i don’t really need interactivity, and just spitting out some static pictures seems to require the same kinds of steps as python/svg.
- NodeBox, which seems like a really cool project, but i ruled it out because it isn’t clear how much documentation is out there, and i’m not sure how comprehensive the libraries are
my first attempt at a SVG file generated using python… not too fancy, but so far so good! each circle represents one ctools project site in use during 2007, and the size of the circle indicates the number of active users on each site. if you’re not using Firefox, you may not be able to see the image below without a SVG viewer plugin.
here’s one with 50 sites rather than 10 [ link ]