VizWiz

Launch, grow, and unlock your career in data
Showing posts with label Andy Kirk. Show all posts

January 19, 2013

Developing a visualization concept solution – The Andy Kirk way

2 comments

Last Friday I had the pleasure of attending Andy Kirk’s full-day ‘Introduction to Data Visualisation’ training course with four of my colleagues from Facebook.  If you don’t know Andy, he’s the person behind the excellent data viz website Visualising Data and author of the new book ‘Data Visualization: a successful design process’ (I get my hands on a copy sometime next week).  If Andy’s ever in your area (or your company is ok with a bit of travel expense), I highly recommend his course.

In the course, Andy outlines an five-step design methodology:

  1. Establishing purpose and identifying parameters
  2. Acquire, prepare and explore your data to begin familiarisation
  3. Establish editorial focus about your subject matter
  4. Conceive your visualisation design
  5. Construct, launch and evaluate your visualisation solution

After each of these steps there’s a hands-on group exercise to put each methodology into practice.  The final exercise, “Develop a visualisation concept solution”, required us to take a set of data that was a bit messy (I think Andy did this intentionally but he wouldn’t admit to it), and apply all of the lessons we learned to improve this viz (click on it to make it larger).

image

The idea was to start with a blank slate, intentionally walk through each step of the design methodology and see what you can build in 45 minutes.  Each team then presented back to the class.

Our team consisted of a MicroStrategy trainer, a data engineer, a BI engineer and myself.  It was such a great experience to build something together and talk through our design…BEFORE we built anything.  Here’s what we came up with:

Andy’s design methodology worked perfectly!  I was amazed at how simple it was to create a usable design, in a short period of time, by slowing down and asking questions that help organize your thoughts.  When I teach, I recommend asking questions as well, but the way Andy recommended asking questions was a bit different than I had done it before.  I can’t wait to use it on a real project.

Thanks Andy, not only for this fabulous course, but for coming to speak to us at Facebook as well.

January 12, 2013

Creating Stream Graphs in Tableau 8 in 6 simple steps (it works in Tableau 7 too, but doesn’t look as cool)

5 comments

Today I attended Andy Kirk’s “Introduction to Data Visualisation” course, learning a lot about data visualization and constructing stories with data.  One of the topics Andy covers is “Establishing editorial focus with your subject matter”.  During this section Andy showed the now famous stream graph created by the New York Times which visualized box office receipts from 1986-2008.

So at the next break I thought “Hmm…I wonder if I can build a stream graph in Tableau 8” and about 3 minutes later I had the basics built. 

First, you should know that Wikipedia defines a stream graph as “a type of stacked area graph which is displaced around a central axis, resulting in a flowing, organic shape.”  The NYT graph has nice smooth curves from one point to the next, however Tableau doesn’t support smoothed lines.  Bearing this in mind, let me present you with my first stream graph.

There are two particularly nice new features of Tableau 8.  The experience is better in Desktop (or Public) than Server, so if you have the beta, download this workbook and you’ll see what I mean.

  1. Try out the zoom controls.  When you lasso zoom, there’s a really smooth transition.
  2. In Desktop, as you scroll your mouse across the chart, you see dots at the top and bottom of the band for the color you’re over for that day.  It’s super fast and gives you a quicker sense of the height of the color.  Really well done Tableau!

    image

You might be asking how I did this.  It actually is simpler than you might think.  Here’s how you would create a stream graph of Sales based on Order Priority.

Step 1 – Drag Order Date to the Columns shelf, right click on it, and choose Exact Date.

Step 2 – Create a calculated field that determines which Order Priorities go up and which go down.

image

The trick here is to put a negative in front of sales for some of the Order Priorities.

Step 3 – Drag your new calculated field to the Rows shelf.

Step 4 – Drag Order Priority onto the color shelf (and change the colors if you want…I used the Color Blind palette).

Step 5 – Change the Mark Type to Area

You should now have something like this, which technically is a stream graph and we’re done.

image

I don’t like the look of this though.  It’s way too jagged and I’d like to smooth it out a bit.  Moving averages are useful with time-series data to smooth out short-term fluctuations (Wikipedia).  A 30-day moving average calculation should do the trick since this is four years worth of data.  A 7-day moving average when there’s a shorter time period (like one year or less) works well, or whatever makes sense for your data.

Step 6 – Right click on the Sales by Order Priority pill on the Rows Shelf and choose Add Calculated field. 

image

And you’re done.  You should now have a stream graph that looks like this:

image

For my version above, I did a few more things:

  1. Lots of formatting and cleanup
  2. Played around with the colors to get them the way I wanted (blues on top, oranges below)
  3. Created two parameters that allow the user to pick (1) dimensions to slice the data by and (2) measures to analyze.
  4. Added a time slicer
  5. Put it all on a dashboard, added some annotations, etc.

I’ve yet to convince myself where I’d use these in a business context, but at least I now know how to build them.  How would you use them?