Data Visualizations with Pyprocessing

About Simeon Franklin

Defining some terms

Beyond Charts & Graphs

  1. Increasingly complex and non-obvious ways of visually representing lots of data.

  2. New insight can be gained by looking at data in new ways

  3. Art!

Example: Motion Charts

Aftermath

Rosling developed the Trendalyzer software that converts international statistics into moving, interactive graphics. His lectures using Gapminder graphics to visualise world development have won awards. On 16 March 2007 Google acquired the Trendalyzer software with the intention to scale it up and make it freely available for public statistics. In 2008 Google made available a Motion Chart Google Gadget and in 2009 the Public Data Explorer. See http://code.google.com/apis/chart/interactive/docs/gallery/motionchart.html#Example
— http://en.wikipedia.org/wiki/Hans_Rosling#Gapminder

Insight or Art?

I blame Edward Tufte

Visual Display of Quantitative Information

Edward Tufte - godfather of making data beautiful.

Data can be beautiful

http://infosthetics.com/

processing

Popular Java application that is an environment for creating visuals. http://www.processing.org

Processing in not-Java

Why should Java have all the fun? And shouldn’t we be getting to Python sometime?

Javascript

processing.js

Python

pyprocessing

My interest

Visual Display of Quantitative Information

(Free books! Thanks Baypiggies!)

Instructive thoughts on building data visualisations and an intro to Processing from Ben Fry - one of the original authors of the Processing project.

Let’s make a motion chart!

Following the steps recommended by Visualizing Data for every data visualization project:

Demo demographics.py

Code

demographics.py

Lesson

The complexity is all in the data steps, drawing is easy.

demo zipdecodes.py

Code

zipdecodes.py

Lessons?

Python/Pyglet is slower than Processing.

Pro Hint

Can we make it faster?

zipdecodes_data.py

How did we do?

zipdecodes_fast.py

Lessons

PImage class is for filtering and transforming arrays of colors, not for rapid display. Uses numpy to store arrays of colors but still ridiculously slow for my purposes.

Much Much More

Complaints

Conclusion

/

#