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.
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.
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.
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
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
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:
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.
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.