Data Viz Done Right

June 29, 2015

Makeover Monday: A Day in the Life

No comments
This week’s Makeover Monday is brought to you by the great Emma Whyte of The Information Lab. If you’re not following her great work, you need to. She’s absolutely brilliant.

I found an infographic on Twitter this week from the Wall Street Journal that described the average American's day.

There are several problems with this infographic:
  • It's really hard to see easily what American's spend most and least of their time doing 
  • It's difficult to compare the years - the colour encoding helps, but you have to work out the actual change in your head 
  • Your eyes have to look around a lot to get the whole picture 
  • There's a lot of reading involved 
  • The squares equal one minute - but it's hard to compare values using area I had a go at making an alternative. 

I have to admit I couldn't find the same data set that the Wall Street Journal used. I downloaded this one from the Bureau of Labor Stats (hence my numbers don't exactly match).

In this version I have:
  • Changed the infographic to a bullet chart - the bars show the 2014 values and the reference line 2004 values. 
  • Sorted the bars by the 2014 value 
  • Coloured the bars by the change, to let you easily spot increases / decreases 
  • Added tool-tips to show the actual change (rather than doing the Math in your head) 

You can download my viz from Tableau Public here.

Would you do anything differently?

June 25, 2015

Tableau Tip: How to Create DNA Charts

No comments
The Data School launched this week and on the consultants' second day, we brought them into an all day training class with the rest of the Information Lab team. One of the courses we taught was advanced visualisations. The reason we run these internal training classes is because we have a core belief in continuous learning.

As part of this exercise, we were building a dot plot and Laszlo Zsom asked how to connect two dots on the same row.  I hadn't ever done it before, so I used a Gantt chart to connect them. Then Chris Love suggested using lines.

In this week's tip (two days late as it is), I demonstrate both of these methods.  Click on the image below to enjoy the video.

June 22, 2015

Makeover Monday: Historical Rainfall in 3 of Australia's Largest Cities

A few weeks ago, the Guardian Datablog published this series of circular heatmaps to represent monthly rainfall across a 20 year period in three Australian cities.

There are several problems with using radial heatmaps:

  • They are not too dissimilar from geographical heatmaps in that they tend to skew towards the segments that cover the most surface area, in this case 2015.
  • It’s difficult to compare across years, across months, and across months and years.
  • Your eyes are drawn all over the place.
  • There’s very little sense for trends.
  • Like a pie chart, you’re trying to compare the angles of the slices, which is nearly impossible.

There are some other issues with this particular implementation:

  • The hover does not work once you get to the smaller segments.
  • The labels are quite hard to read.
  • When I hover, all I get is the value. This means that I have to look back to the labels to see which month and year it refers to.

Given these problems, I created this alternative version.

In this version, I have:

  1. Taken the radial heatmap and flattened it out. I liked their idea of using a heatmap, but needed it to be easier to read.
  2. Added two trend charts: (1) cumulative rainfall, (2) monthly rainfall
  3. Added a selector for the city
  4. Added a highlight action on the year
  5. Included informative tooltips
  6. Improved the title

You can download the viz from Tableau Public here. What would you do differently? What could be improved in my version?

June 17, 2015

Tableau Tip Tuesday: Showing an Axis Above a Chart

A very common question and feature request I see on the Tableau Forums is to show the axis above a chart rather than below, as Tableau does by default.

When I was working on solving this, I started by looking at the XML for a workbook and there is a bit of code that controls whether an axis displays. I built a dual-axis chart to see if I could change the display in the code.

In the <style> section, note the value=‘false’ setting. This is what is hiding the axis. I changed only the top axis by setting it to ‘true', but when I opened the workbook again, both axes were displayed. Back to the drawing board I went.

Here are the steps to follow to display the axis above the bar chart and not below (sort of):

Step 1: Create a bar chart.

Step 2: Duplicate the measure that is shown in the chart by right-clicking on the measure in the Measures list and choosing Duplicate.

Step 3: Drag the duplicated measure onto the secondary axis.

You should now have a chart that looks like this:

Step 4: Change the mark type for both measures to Bar.

Step 5: Remove the Measure Names field from the Color shelf. This isn’t required, but you really don’t need to have two colors for the same measure.

Step 6: Right-click on the bottom axis and choose Format. Change the Font to white and set the Ticks to ‘None’. This doesn’t hide the axis (hence the reason I said ’sort of’ above), but it will give the appearance that the axis isn’t there.

Note: The reason that you have to duplicate the measure has to do with how formatting works. If I used the same measure again for the secondary axis (i.e., Sales in this case), then when I format Sales, it applies to both axes. However, when you duplicate the field, Tableau treats it like a totally separate measure with its own formatting.

Step 7: Double click on each of the axes and remove the titles. This isn’t required, but it makes the axis narrower.

That’s it! While this isn’t a perfect solution, it works. Also, be sure to clean up the tooltips since they will show the measure twice.

You can download the workbook used to create this viz here.

June 4, 2015

Dear Data Two | Week 7: Complaints

During week 7 of Dear Data Two, I recorded my overall frustation level for each hour of each day of the week. I was at the Alteryx Inspire conference most of the week, so I had to keep data collection simple. I used a scale of 0-10, with zero being no frustration and ten being extremely frustrated.

For week 3 Jeffrey sent me a donut chart by accident (so he says…) and while I was thinking about my ideas for this week, I started connecting some data points with lines and ended up with a radar chart. (See the draft version in the story points.) It’s funny how he and I both have gone against what we would consider best practices. What does that mean??

I decided to go with a clock them this week and split the data up between morning and afternoon. From there, I plotted each day going outward from the centre for that hour. For example, at 12am, Monday is closest to the middle and Sunday is farthest from the middle. This helped me see which hours were cumulatively the most frustrating for me for the week. Each dot is separated by the frustration level. If the frustration level was three, then the dot would be 6mm from the previous dot. I then sized the dots by the frustration level so as to double encode the values.

It’s no surprise that my sleeping hours were generally the least frustrating, except for 5am when jetlag kicked in. Overall, 9am was my worst hour in the morning and 1pm was the worst in the afternoon. The story points viz below goes into more of the explanations. Click on the image to read through the story.

June 2, 2015

Tableau Tip Tuesday: Sizing Worksheets & Dashboards to Fit Perfectly in Story Points

No comments
For this week's Tableau Tip Tuesday, I demonstrate something that I learned earlier this week that has been a long time frustration for me...getting worksheets and dashboards to fit perfectly in Story Points.

Click on the image to launch the dashboard that contains the video.

June 1, 2015

Makeover Monday: China Is Poised to Surpass the Americas as Apple's Largest Market

I am not a very big fan of stacked bar charts, particularly those that try to represent change over time, like this week’s makeover candidate from Chart of the Day.

The article is trying to emphasize the change in the share of Apple revenue in China compared to the Americas. Here are some problems I have with this chart:
  • It’s very hard to compare stacks in a bar chart over time because each stack is influenced by those stacks below it.
  • The title of the article and the chart don’t match. The article says China vs. the US, but the chart is China vs. the Americas.
  • There is not enough emphasis on the comparison. The rest of the regions should fall to the background.
  • I don’t like the legend above the chart in this case because I’m constantly having to go back and forth.
For the makeover, I’m going back to some of the things I learned in Cole Nussbuamer’s fantastic course about emphasising the data that you want people to pay attention to. Click on the image to view the interactive version.

Here’s what I’ve done differently:

  1. I changed the title to reflect the purpose of the story.
  2. I changed the chart to a line chart to make it easier to see the trends for each region.
  3. I’m only emphasising the Americas and China. The rest of the regions are in a light grey.
  4. I’ve added annotations to make it easier for the reader to see the values.
  5. I removed the color legend as it’s not necessary since I’ve labeled the end of each line.

Which version do you prefer? What would you do differently? There are so many ways to redesign charts and no single way is 100% correct.

May 29, 2015

Dear Data Two | Week 6: Physical Contact

No comments
What an amazing week for me for Dear Data Two! The topic for week 6 physical contact and I've been learning Alteryx. The first thing I thought of was physical activity, not physical contact, so I emailed Jeffrey and asked him if he was ok with me taking such liberty on the topic. Fortunately Jeffrey was ok with my idea, but then I decided I could stick to the original contact by extending my thinking a bit.

I'm a huge quantified self data collector, which you'll likely see throughout my Dear Data Two work. I wanted to see how I could use Alteryx to help me get the data into Tableau for analysis before creating my analogue version because I feel like the best way to learn a new tool is to find a practical application. This is the first workflow I built on my own in Alteryx. It might not be the most elegant or most efficient, but I sure did learn a lot along the way. You can download this workflow here.

One of the things I have started to like the most about Alteryx is that I can push all of the complicated row level calculations that I used to do in Tableau to Alteryx, which in the end makes Tableau much faster. For example, I used to multi-row tool to calculate the distance between two geographic points recorded by my watch.

From there, I created the dashboard below to explore the data. In particular I wanted to view the maps and see the summary stats.  One thing I learned is that I need to figure out a way to account for times that I paused my watch; that data doesn't appear in the GPX files.

Click on the image to interact with the dashboard.

Exploring the data Tableau helped me quantify my runs for the week, but that didn't account for all of my physical activity for the week. To capture ALL of my activity:

  1. I noted my total daily steps from Fitbit.
  2. I calculated the number of steps for my runs by taking my stride rate of 184 strides per minute from TomTom and multiplying by the minutes I ran in Strava.
  3. I subtracted my running steps from the total steps to get my walking steps.
  4. I used the time of day that I ran and roughly calculated the proportion of walking steps before and after each run each day.
That resulted in this draft, which is sort of like a dot matrix:

For the final version, I colored the dots: Blue dots represents 200 steps walking and red dots indicate 200 steps running. I rounded the numbers for drawing purposes. 

You can view the images in the Tableau dashboard above as well, but note that as you're exploring the dashboard, when you click on the tabs that contain images, they will take several seconds to load. I've reported this bug to Tableau.

I really learned a ton this week thanks to Dear Data Two because I found a great use case for Alteryx. Not only did I learned a bunch of Alteryx tools I hadn't learned in the training I took at Inspire15, but I also learned how to do row-level calculations in Alteryx and how those can help Tableau performance. 

May 25, 2015

My First Alteryx Inspire Conference

No comments
Do you remember that feeling you had when you first started using Tableau? It’s the eureka moment that gets you. I’m going through this exact same set of emotions right now…with Alteryx. And it started at Inspire15 in Boston. A conference that felt very, very similar to a Tableau conference, in terms of its content, energy and audience.

I first got a demo of Alteryx from George Mathew back in San Diego at TCC12. I was working for Facebook at the time, Mike Roberts from InterWorks set up the meeting, but I didn’t see a particularly good use case immediately for Facebook. Why? Facebook Data Engineers have always (and probably always will) code their own pipelines.

Fast forward to Boston. Inspire15. I’m now working at The Information Lab and Alteryx is key to our business. I knew I needed to learn what all the fuss was about. Chris Love, retired Grand Prix Champ, helped me sort out which classes to take.

The day before heading to Inspire, I was sitting with Robin Kennedy and told him that I wanted to get a headstart on my training. Low and behold, he showed me all of the fabulous training modules that are built right into Alteryx. I had no idea! I completed about 15 of these on the flight to Boston.

After watching Arsenal draw 1-1 in a drab affair Sunday morning, I headed to the first of three training sessions: Predictive Analytics for Beginners. In this class I learned how to apply different data investigation techniques to help me understand how predictive a data source may be. The instructor showed us how to use the Association Analysis, Violin Plot, and Field Summary tools.

The workflow that we created...

…resulted in this series of violin plots (apologies for the blurry image).

From here, I attended Predictive Analytics for Intermediate Users, which was basically a continuation of the first class. In this session, I learned how to use regression analysis to help predict potential response rates to targeted marketing campaigns. Tools used in the session included: Logistic Regression, Decision Tree, and Forrest Model.

The regression analysis workflow we created...

…resulted in a series of tables and this chart (which shows that charting is not in the Alteryx sweet spot).

The third and final class I attended on Sunday was Intermediate Macro Development. This was a pretty simple class in which we built a workflow + macro to strip heading from a messy Excel spreadsheet.

Monday afternoon our team went on an amazing Segway tour of Boston.

Monday evening, Alteryx hosted a really nice welcome reception, including the Grand Prix, which our very own Craig Bloodworth qualified for. 

Dean Stoecker kicked off Tuesday with a great keynote about Analytics Independence. Alteryx does this kind of strange thing during their keynotes where they bring up customers for on stage interviews. I’m not sure why they do it. Personally, I found that they disrupted the flow of the keynotes and didn’t really add any value, but that’s my opinion.

I wanted to be sure to attend a few customer stories to get a better feel for how people are using Alteryx with the hope that it would give me some ideas on how I can use it. The first customer session I went to was by Sprint, and it was a stinker! The content was mediocre at best and the speakers were not very good. The second speaker stood at the front, faced his presentation with his back to the audience, and simply read the slides. It was THAT bad. Here are a couple of screenshots of their slides if you don’t believe me.

In the afternoon, I attended a great session by Ramnath Vaidyanathan, a Data Scientist at Alteryx, on the interactive visualizations for predictive analytics that were introduced in Alteryx 9.5.

Tuesday night was capped by an incredible party at The House of Blues with a Aerosmith tribute band “Draw the Line”. The band was incredible. It was clear the lead singer really wanted to be Steven Tyler, all the way down to the cosmetic surgery.

The Information Lab team ALWAYS has fun!

The final day of Inspire15 was kicked off with sensational keynote by George Mathew, in which he talked about the future of Alteryx and brought a developer on stage to demo the features coming in Alteryx 10.

Nice photobomb by the TIL team!

The quantified self work of Tim Ngwena of TIL was a keynote highlight!
I took one more training class in the late morning, Predictive Analytics for Advanced Users. My Inspire15 concluded with one of the best talks I’ve ever seen at any conference. The Information Lab’s Chris Love, Tim Ngwena and Craig Bloodworth gave an amazing talk they titled “From Data Hobbyist to the Boardroom”. It was chock full of great work that is reusable and applicable to everyone. Well done lads! You can watch the video of their talk below.

In the end, Inspire15 was a fantastic experience for me, a new Alteryx user. I’ve already started applying what I’ve learned and am working on two blog posts. My only regret is that I didn’t start using Alteryx sooner.

Stay tuned!

May 23, 2015

Dear Data Two | Week 5: Things We Buy

Week 5 of Dear Data Two was pretty straight forward, but took a bit of data blending to make it work. I had two goals for this week:

  1. Track every purchase that I make
  2. Categorize each purchase by the type of goods
  3. Locations each place where I made a purchase

Precise times were taken from purchase receipts, along with the categorisations. I then recorded the locations of each place by Swarm check-in, which were uploaded to a Google Sheet via IFTTT. I downloaded both sets of data into excel and manually joined them (there were only 19 records so it wasn’t much effort to do manually).

I then explored the data in Tableau, to see what stories I could find, if any. This week took me longer than I was expecting, mostly because I was having trouble finding anything interesting in the data. The one point that stuck out the most is that I spent more on ice cream than Mother’s Day. Oops! Please don’t tell my mom.

Click on the image below to explore the story.

May 19, 2015

Tableau Tip Tuesday: How to Label the Top of Stacked Bars

This week's tip covers two methods for displaying the total of a stacked bar chart.  Click on the image to view the video.  Enjoy!

May 18, 2015

Makeover Monday: How Much Water Is Used to Produce Your Food?

Quick makeover this week (we have a Segway tour of Boston at #Inspire15 in 30 minutes). I saw this graphic on the LA Times about the amount of water it takes to produce a single ounce of food.

It’s cute and it’s interactive, but it’s not very good for making comparisons or ranking. Bubble plots are notoriously difficult this way. For example, tell me quickly which food uses the 3rd most water? Tough to tell, right? I also don’t understand why they grouped fruits and vegetables together.

I manually recreated the data in Excel, which you can download here. Hopefully I recorded everything correctly; if not, please let me know. I then quickly built a chart in Tableau. I’ve addressed the issues that bubbles present, ranking and comparison, by using a bar chart instead.

Going back to the previous question, using my viz, which food uses the 3rd most water? Simple right? How about the 10th most vegetable? That’s simple too; all you need to do is click the color on the right.

May 13, 2015

Dear Data Two | Week 4 - Mirrors

No comments
The week theme for Dear Data Two was “Mirrors” (You can follow Dear Data Two here). I explored the data in Tableau and created this story about my week of mirrors and reflections. This was quite a tough week from a data collection perspective. I’m not totally satisfied with my analog version, but done is better than perfect.

Tableau Tip Tuesday: How to Create Waterfall Charts

I've missed the last few weeks of #TableauTipTuesday, and technically it's Wednesday in London, but pretend I'm in California and it's Tuesday. This week, I show you how to create waterfall charts in Tableau.

The first example is very basic; I did this intentionally so that the steps would be super easy to follow. The second example is only moderately more complex; it looks at Tableau's SEC financial filings from 2011-2014.

May 11, 2015

Makeover Monday: Why Are There so Many More Muslims in U.S. Prisons? recently published an article about the difference in the religious beliefs of prisoners in the U.S. vs. the general U.S. population. In this article, they provide this table:

They go on to do an analysis, but never really address the story the data is telling in this table. Clearly what this table is screaming out for is to show the difference between the two populations. I’ve been on a bit of a slope graph kick lately, so that’s what I’m using again this week. Why? Because I find slope graphs to be an excellent way to show variances between two data points. Click on the image below for the interactive version.

The slope graph clearly makes the differences stand out. One can easily see that there are fewer Protestants and Catholics in prison, and at the same time see that there are way more Muslims in prison. I then like to supplement the slope graph with a bar chart that shows only the differences.

There’s no clear evidence available as to why this is, but representing the data this way leads to more questions and more discussion. Any time you design a viz and it continues the conversation, you’ve probably done something right.

May 4, 2015

Makeover Monday: Which NFL Teams Were the Biggest Overachievers and Underachievers in 2014?

The NFL Draft was this past weekend, which for many people is the biggest day of their year. It’s the day that all teams have renewed hope for the upcoming season. This got me thinking back to a viz I saw from Cork Gaines back in January that I had tagged for a makeover.

My biggest problem with this viz is that I have to turn my head sideways to read it. In addition:
  • The length of the bars isn’t accurate.  How can +4.5 be longer than -5.0?
  • The bars are in reverse order - the biggest overachievers (Dallas) should be first.
  • I have to do the math in my head to get to their predicted wins.

My first thought was to see what this viz looked like it I rotated it counter clockwise.

That definitely makes it more readable, but the story still doesn’t stand out. What the data is screaming for is to show the change and emphasize the winners and losers. To this end, along with accounting for the observations above, I created this interactive version in Tableau. Click on the image below to activate the interaction.