Part 2: The essential collection of visualisation resources

THIS POST HAS NOW BEEN SUPERSEDED BY AN UPDATED COLLECTION

This is the second part of a multi-part series designed to share with readers an inspiring collection of the most important, effective, useful and practical data visualisation resources. The series will cover visualisation tools, resources for sourcing and handling data, online learning tutorials, visualisation blogs, visualisation books and academic papers. Your feedback is most welcome to help capture any additions or revisions so that this collection can live up to its claim as the essential list of resources.

 

The Essential Visualisation Tools II

This second part presents the prominent and powerful data visualisation programming languages and environments that dominate the creative engineering that sits behind today’s design output.

Please note, I may not have personally used all the tools presented here but have seen sufficient evidence of their value from other sources. Also, to avoid re-inventing the wheel, descriptive text may have been reproduced from the native websites for some resources.

 

Adobe Flash

Adobe Flash software is currently the industry standard for authoring innovative, interactive content. In conjunction with the platform’s programming language, ActionScript, Flash allows designers to bring dynamism to visualisation, opening up infinite possibilities for creativity. Some of the most pioneering, best practice visualisations built in Flash can be found with online news and media sites, introducing interactivity to supplement and enhance the information presentation. The future of Flash is somewhat clouded by the ongoing stand-off with Apple and the emergence of competing developments, including HTML5. However, for the immediate term this is is still an essential and wonderful resource for demonstrating the power of visualisation at its best.

Find out more information | Cost: Trial > £435/$699 per license | Tags: Animation, Multimedia, Dynamic

Examples and references: New York Times Gallery | The Guardian Interactives Gallery | La Informacion Graphicos

Status: Ongoing (July 7, 2011)

 

Processing

Processing is an open source programming language and environment for people who want to create images, animations, and interactions. It was founded by Ben Fry and Casey Reas in 2001 while both were students under John Maeda at the MIT Media Lab. In recent recent years it has evolved into one of the most significant and versatile visual programming languages in the visualisation field, particularly off the back of Fry’s excellent Visualizing Data book about computational information design which extensively described the potential power of the Processing environment. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production.

Find out more information | Cost: Free | Tags: Visual Programming Language, Open Source, Java

Good examples and references: Processing Exhibition Gallery | Ben Fry | Jer Thorp’s blprnt.com | ‘giCentre’ Visualisation Library

Status: Ongoing (July 7, 2011)

 

Processing.js

Processing.js is a ‘port’ of Processing, a sister project as it were, designed to make data visualisations, digital art, interactive animations, educational graphs, video games, etc. work using web standards and without any plug-ins. You write code using the Processing language, include it in a web page, and Processing.js does the rest. Whether you’re an advanced Processing developer or completely new, whether you’re a pro with web technologies or just getting started, Processing.js bridges the gap between these two powerful technologies.

Find out more information | Cost: Free | Tags: Visual Programming Language, Open Source, JavaScript

Good examples and references: Processing.js Exhibition | bloom | John Resig | Marius Watz

Status: Ongoing (July 7, 2011)

 

R

R is a highly extensible, open source language and environment for data handling, statistical computing and graphical techniques. One of R’s key strengths is the ease with which well-designed publication-quality graphical plots can be produced. Importantly, from a good practice principles perspective, great care has been taken over the defaults for the minor design choices in graphics whilst allowing the user to retain full control beyond. Many people traditionally think of R as a statistics system but its power and potential as a visualisation tool is significant and its popularity within the field is growing constantly.

Find out more information | Cost: Free | Tags: Statistical Programming Language, Graphics, Open Source

Good examples and references: RStudio | Hadley Wickham |ggPlot2 Library | FlowingData

Status: Ongoing (July 7, 2011)

 

D3

D3 is a fresh and efficient visualisation framework created by one of the Protovis creators, Mike Bostock. Its key feature is that it allows you to bind data to a Document Object Model (DOM) and then apply smooth data-driven transformations and interactions to the document. D3′s lightweight characteristics enables it to expose the full capabilities of underlying technologies such as CSS3, HTML5 and SVG. Accordingly D3 is extremely fast, supports large datasets and overall provides great flexibility in designing a contemporary web-based visualisation.

Find out more information | Cost: Free | Tags: JavaScript Library, Open Source, SVG

Good examples and references: D3 Gallery | Jan Willem Tulp

Status: Ongoing (July 7, 2011)

 

Protovis

Protovis is a free and open-source JavaScript based visualisation project, led by Mike Bostock and Jeff Heer of the Stanford Visualization Group, which composes custom views of data with simple marks such as bars and dots. Unlike low-level graphics libraries that quickly become tedious for visualisation, Protovis defines marks through dynamic properties that encode data, allowing inheritance, scales and layouts to simplify construction. It uses JavaScript and SVG for web-native visualisations which means no plugins are required. Furthermore, whilst programming experience is helpful, Protovis is designed to be learned by example.

Find out more information | Cost: Free | Tags: Visual Programming Language, JavaScript

Good examples and references: Protovis Gallery | EagerEyes | Jerome Cukier

Status: Protovis continues to exist but is no longer under active development, with the focus now on d3 (June 28, 2011)

 

Prefuse

Prefuse is a Java programming framework for creating rich interactive data visualisations supporting a rich set of features for data modeling, visualisation, and interaction. It provides optimised data structures for tables, graphs, and trees, a host of layout and visual encoding techniques, and support for animation, dynamic queries, integrated search, and database connectivity. Prefuse is written in Java, using the Java 2D graphics library, and is easily integrated into Java Swing applications or web applets.

Find out more information | Cost: Free | Tags: Visual Programming Language, Java, Open Source

Good examples and references: Prefuse Gallery | Jeffrey Heer

Status: Last updated release was October 2007, suggesting it is no longer being actively developed (July 7, 2011)

 

Prefuse Flare

The Prefuse Flare toolkit is a successor to Prefuse and provides visualisation and animation tools for ActionScript and the Adobe Flash Player. From basic charts and graphs to complex interactive graphics, the toolkit supports data management, visual encoding, animation, and interaction techniques. Moreover, flare features a modular design that lets developers create customized visualization techniques without having to reinvent the wheel.

Find out more information | Cost: Free | Tags: Adobe Flash, ActionScript, Open Source

Good examples and references: Flare Demos

Status: Flare development now opened up to the community on GitHub. Flare 2009.01.24 is last official release (July 7, 2011)

 

Impure

Impure is a visual programming language, created by Bestiario of Spain, designed to gather, process and visualise information. With impure is possible to obtain information from very different sources; from user owned data to diverse feeds in internet, including social media data, real time or historical financial information, images, news, search queries and many more. Within a modular logic interface you can quickly link information to operators, controls and visualisation methods.

Find out more information | Cost: Free | Tags: Statistical Analysis, Interactive, Programming

Examples and references: Photo Gallery | Video Gallery | Blog

Status: Ongoing (July 7, 2011)

 

Mondrian

Mondrian is a general purpose statistical data-visualisation system written in Java. It features outstanding interactive visualisation techniques for data of almost any kind, and has particular strengths, compared to other tools, for working with categorical, geographical and large data sets. Currently implemented plots comprise Histograms, Boxplots y by x, Scatterplots, Barcharts, Mosaicplots, Missing Value Plots, Parallel Coordinates/Boxplots, SPLOMs and Maps. Mondrian works with data in standard tab-delimited or comma-separated ASCII files and can load data from R workspaces.

Find out more information | Cost: Free | Tags: Statistical Programming Language, Java, Open Source

Good examples and references: Mondrian Examples

Status: Ongoing (July 7, 2011)

 

HTML5

HTML5 is the next major revision of HTML that introduces a host of important elements and attributes that improve the overall web experience and enhance its importance alongside other visualisation programming languages. The canvas element, in particular, can be used for rendering graphics and visuals on the fly without the need for plug-ins which opens up many new possibilities. The interest in HTML5 has been heightened by Apple favouring HTML5 (alongside CSS3 and Javascript) over Adobe Flash and the inevitable battle that will ensue over which is the most portable and adaptable format. HTML5 is available now and is largely functional on most browsers, but will surely see a real growth as Internet Explorer 9 (offering full compatibility) becomes more widespread.

Find out more information | Cost: Free | Tags: Markup Language, CSS, JavaScript

Good examples and references: Arcade Fire HTML5 Video |  HTML Demos | Dive into HTML5 | Adobe Edge Preview

Status: Ongoing (July 7, 2011)

 

 

Python

Python is a powerful, versatile and increasingly common programming language usually deployed as an automation tool on the data handling side of visualisation projects (eg. scraping data, parsing it, formatting it) but it is also used as the basis for graphing and visualisation libraries too.

Find out more information | Cost: Free | Tags: Programming Language, Opensource, Libraries

Good examples and references: Nodebox | Beginning Python Visualization | MatPlotLib

Status: Ongoing (July 7, 2011)

  

 

Microsoft Silverlight

Silverlight is a powerful development platform for creating rich media applications, interactive user experiences and innovative visualisations for the web, desktop, and mobile applications. It is a free plug-in powered by the .NET framework bringing a new level of interactivity and supporting for advanced data integration, multithreading, HD video and built in content protection. Silverlight offers an advanced, creative environment to produce powerful and sophisticated visualisation solutions.

Find out more information | Cost: Free | Tags: Interactive, Programming, Multi-Format

Examples and references: Case Studies | Infragistics | Pivot Viewer

Status: Ongoing (July 7, 2011)

Silverlight data visualisation – SIMD Prototype from storm ideas on Vimeo.

 

Notable Others…

Here are some additional suggestions you may wish to consider within this category of visualisation resources:

Orange | Open source data visualization and analysis for novice and experts. Data mining through visual programming or Python scripting. Packed with features for data analytics..

Paper.js | Paper.js is an open source vector graphics scripting framework that runs on top of the HTML5 Canvas. It offers a clean Scene Graph / Document Object Model and a lot of powerful functionality to create and work with vector graphics and bezier curves, all neatly wrapped up in a well designed, consistent and clean programming interface.

WebGL | WebGL is a software library that extends the capability of the JavaScript programming language to allow it to generate interactive 3D graphics within any compatible web browser. WebGL is a context of the canvas HTML element that provides a 3D computer graphics API without the use of plug-ins.

Dejavis | Described as “visual analytics for the browser”, Dejavis provides a JavaScript library of tools to create and publish online interactive visualisations.

Simile Widgets | This is an open-source “spin-off” from the Simile project at MIT, offering free, open-source web widgets, mostly for data visualisations, which are maintained and improved over time by a community of open-source developers.

JavaScript InfoVis Toolkit | The JavaScript InfoVis Toolkit provides tools for creating Interactive Data Visualizations for the Web.

Juice Kit | JuiceKit™ is a Software Development Kit which integrates with Adobe Flex to create visualisation components that are easy to implement and aesthetically pleasing.

Treevis | Treevis is a visual bibliography of nearly 200 tree visualisation techniques and solutions.

 


That completes the second part of this collection of essential visualisation tools. Please leave any comments or feedback any suggestions you have to add to this collection or to enhance the detail presented above.

8 Comments

» CollectionMarch 31st, 2011 at 6:59 pm

[...] Part 2: The essential collection of visualisation resources – March 30th, 2011 Google’s ‘Think Quarterly’ – March 24th, 2011 The Exposed City: Mapping the Urban Invisibles – March 23rd, 2011 Part 1: The essential collection of visualisation resources – March 17th, 2011 Coming soon… The essential collection of visualisation resources – March 16th, 2011 var addthis_config = {"data_track_clickback":true};  [...]

[...] and environments that dominate the creative engineering that sits behind today’s design outputvia Visualising Data » Blog Archive » Part 2: The essential collection of visualisation resources. This story written by Randall Hand Randall Hand is a visualization scientist working for a federal [...]

MasonApril 15th, 2011 at 1:48 am

Good roundup. However, HTML5 doesn’t really belong in this list. Yes, the Wilderness down is an awesome interactive music experience, but it’s like comparing apples to oranges. All of your other examples are solid visualization tools, but HTML5 is too broad. Might as well just say “internet”.

Other than that, I love the D3 framework. I could watch the animation on the Stack Bars demo all day. Cheers!

Noah IliinskyMay 2nd, 2011 at 12:17 am

My understanding is that Prefuse and Flare are no longer in active development, as the focus of the Stanford Visualization Group has moved to Protovis.

Francois MercierMay 2nd, 2011 at 1:42 am

Extremely useful post. Thanks a lot. May be you want to add NodeBox to this list ? see http://nodebox.net/code/index.php/Home.
Cheers

Andy KirkMay 2nd, 2011 at 10:53 am

Many thanks Noah – helpful to know

Andy KirkMay 2nd, 2011 at 2:53 pm

Hi Francois, if you notice I’ve included a link to NodeBox under the python item. Thanks for the recommendation though!

Francois MercierMay 28th, 2011 at 10:33 pm

Hi Andy,
While I’m re-reading this great series of posts, I realize that you may want to add in this part2, the other popular tools for statistical analysis and modeling ! which offer graphical facilities, but only (or mainly) static graphics. These are: SAS, MATLAB, Mathematica, Splus, SPSS, STATA, …
Cheers