Visualising changes over time

There are a range of approaches for visualising non-spatial data over time. For me, to be effective and useful the method needs to:-

  • Illustrate, uncover or summarise patterns in the data that would be less visible otherwise;
  • Preserve relationships and proportionality;
  • Be based on sound and understandable underlying statistical/mathematical methods;
  • Ideally have open tools or scripts available for use

The following post seeks to summarise some good techniques using a few key publications and examples.

Stacked Graph Approaches for Linear Series

These approaches work for data that can be aggregated so that the overall size of the graph is meaningful.

Lee Byron’s Stream Graph uses Last FM Audioscrobbler data to illustrate a user’s listening habits over time. According to the authors, the visualisation method was popular with users who were able to associate their listening habits with life events and time of year. Data is extracted in the form of number of plays per month, per artist. The visualisation approach is similar to ThemeRiver – a smoothed, stacked graph centered on the origin and expanding either side – but adds some further algorithmic smoothing. It also selects an ordering which places the early onset series toward the centre and subsequent onsets at the top and bottom. The software is available via the above link and uses Java/Processing. There is also a javascript implementation in the d3.js library

Last FM Theme River

IBM History Flow was used to create compelling images of editing patterns to Wikipedia pages and illustrates the number of users involved in addition to the page length (so the more radical revisions are visible as large “steps” – edit wars become zigzags.). The researchers used the Wikipedia revision history and token matching to detect changes between versions. The program was written in Java but is not available for direct download.

image: flickr/viegas

Spiral Graphs for Cyclic Series

Here, the axis is arranged spirally and scaled according to periodicity in the data. If not known in advance, periodicity may be detected by either animating through different cycle lengths (see a good example at EagerEyes) or by computing a spectrum using Fourier transform (for regularly spaced data) or least squares fitting of sine and cosine functions. The spiral shape and the distance between plotted points are fairly easy to calculate. The example on the left shows daily sunshine intensity, with cloudiness between days easily comparable. The formulae to compute the spiral and scale the plotting are available in the paper below by Weber et al. Some code to create a spiral plot in R using ggplot2 is avaiable.

Flickr Flow

The right hand example – Flickr Flow – combines the spiral graph and stacked graph approaches, showing predominant colours in Flickr Photos by season (summer at top, autumn on right, winter bottom, spring on left).

Calendar Views for daily data points

Here, daily average values or cluster groups are colour coded and displayed in a calendar. The example below is from the d3 javascript site and displays Dow Jones averages from Yahoo Finance.

Evolutionary / Version paths

This type of visualisation has a long history. A stemma codicum is used by philologists (text scholars) to track versions of a manuscript, based on modifications that can be tracked over time from an original version. This example tracks versions of Dante’s Divine Comedy between 1321 and 1355

Semma codicum

A modern equivalent is the visualisation of source code repositories, such as the network viewer on GitHub. The following shows some recent activity on Node.js repositories. Users are shown down the left, with the timeline along the top. Each node is a “commit” to the repository. Connections between repositories via forking and merging changes are shown, along with major releases:

GitHub Visulaisation

References

AIGNER, W., MIKSCH, S., MULLER, W., SCHUMANN, H. and TOMINSKI, C., 2008. Visual methods for analyzing time-oriented data. Visualization and Computer Graphics, IEEE Transactions on, 14(1), pp. 47-60

BYRON, L. and WATTENBERG, M., 2008. Stacked Graphs – Geometry & Aesthetics.
http://www.leebyron.com/else/streamgraph/download.php?file=stackedgraphs_byron_wattenberg.pdf

MAZZA, R., 2009. Introduction to information visualization. London: Springer.

VIÉGAS, F.B., WATTENBERG, M. and DAVE, K., 2004. Studying cooperation and conflict between authors with history flow visualizations. http://alumni.media.mit.edu/~fviegas/papers/history_flow.pdf

WEBER, M., ALEXA, M. and MULLER, W., 2001. visualizing time-series on spirals.
http://ieg.ifs.tuwien.ac.at/~aigner/teaching/ws06/infovis_ue/papers/spiralgraph_weber01visualizing.pdf

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>