Data Viz Done Right

September 16, 2019

#MakeoverMonday: Committed Forever to Positive Impact Events

No comments
This week is a partnership between the Makeover Monday community and the UN SDG Action Campaign. Here's the viz they've asked us to makeover:

What works well?
  • Everything looks very crisp, as it always does on Google Data Studio.
  • Good filtering capability
  • Allows you to explore the data in any way you desire
  • Colors of the bar chart are easy to distinguish

What could be improved?
  • It's way too long; I know I would never read all of it.
  • The stacked bar / treemap charts things don't make sense at all.
  • There's no structure to guide the user; like what is most important?

What I did
  • I focused on the high-level goals.
  • I noticed that there were a lot of people that said they would commit to action forever, so I made that the focus of my viz.
  • I had originally split the view up by gender, but that didn't add anything to the analysis, so I took it out.
  • I used the colors and fonts from the Positive Impact Events website.

And here's my makeover...

September 10, 2019

#MakeoverMonday: Alex Cross vs. Women's Murder Club

No comments
I saw a data set (I don't recall where from) about library checkouts at Seattle public libraries and thought it would be a fun data set to play with. The original viz that I wanted everyone to makeover was about Jane Austen, but the checkouts for Jane Austen books was pretty sparse.

I thought about James Patterson, an author I used to read quite often and is extremely popular. This has provided something worth vizzing.

Before I get to that, let's look at the original:

What works well?
  • The timeline is in sequential order.
  • The dark background lets the dots pop out.
  • The colors are easy to distinguish.
  • Simple title and subtitle.

What could be improved?
  • The y-axis is missing.
  • The dots are double encoded by size and position on the y-axis.
  • Google trends are included for some reason.
  • The legend could be simplified.

What I did
I wanted to look at seasonality and trends for each of the books. I got nowhere really quickly. I struggled and struggled with ideas and ended up not having enough time to finish on Monday.

In the end, I decided to take some inspiration from Workout Wednesday week 10 2018. I also chose to focus on only two book series: Alex Cross and Women's Murder Club. Why? Because those are the two series of his books that I read the most. The color theme comes from James Patterson's official website.

#TableauTipTuesday: How to Create a Waffle Chart Using Data Densification

No comments
In this tip, I show you how to use a calculated join to create a waffle chart. This method of data densification can remove the need for any complex data blending.

September 1, 2019

#MakeoverMonday: Which season do Americans prefer?

No comments
On to week 36 we go. This week Eva has chosen a simple data set and simple viz. Let's have a look:


What works well?

  • The seasons are sorted according to when Americans experience them.
  • Nice clean design
  • Labeling the tops of the bars
  • Hiding the axis
  • Color are easy to distinguish

What could be improved?
  • I keep having to refer back to the legend. Maybe label each bar once?
  • This show a comparison of the ages within a season. If the viewer wants to compare the seasons by age, then that become difficult.

And here's my version, which allows you compare both across seasons and across age groups:

August 27, 2019

#TableauTipTuesday: Using Measure Names to Update a Parameter

No comments
Before parameter actions, we've never been able to use Measure Names in a calculation. This week, I show you how to make a dynamic scatterplot and dynamic line chart by leveraging the power of parameter actions to pass the Measure Names field to a parameter, and thus a calculation.

Thank you to Hesham Eissa and Sara Hamdoun of The Data School for coming up with the solution.

August 25, 2019

#MakeoverMonday: Mobile is taking over the global gaming market

No comments
After a week on holiday and skipping writing a Makeover Monday blog posts for the first time in 4+ years, I'm back with a topic that I can attest to give my boys' affinity for gaming.

This week's chart is from Statista:

What works well?

  • The title clearly explains the story in the chart.
  • The colors are easy to distinguish.
  • The bar chart helps us see the increasing revenue.
  • Placing mobile at the bottom of the stacked bars makes it easy to see the increase in the mobile share.

What could be improved?

  • All of the labels make the chart look quite busy.
  • Is the image of the platforms necessary?

What I did

  • I wanted to look at the relationship of share and revenue over time, which led me to a connected scatterplot.
  • I thought it was important to look at each platform independently, so I placed them inside "cards".
  • I included BANs based on the estimated revenue for 2021.

Let me know what you think.

August 13, 2019

#TableauTipTuesday: How to Compare Ranks within a Dimension with Set Actions

No comments
Have you ever needed to compare the rank of items, but only show two of them? For example, you want to show any player compared to Player A. Player A should always be in the view and another play should only be shown when selected.

And, when you display any players, you need to show their rank amongst everyone. This is where set actions come into play.

In this example, I show you how to compare any car to a car that you selected from a parameter. The car you select from the scatterplot appears next to the car selected from the parameter and the overall rank for each car is displayed.

August 11, 2019

#MakeoverMonday: The Social Investment of Clinical Trials

No comments
This week's viz is from Aero Data Lab analyzes clinical trial registration records from 10 large pharmaceutical companies. Here's how to read it:

  1. The trial start date on the x-axis.
  2. The disease/condition of interest on the y-axis.
  3. Each bubble in the figure corresponds to a trial. 
  4. The bubble color corresponds to the company
  5. The bubble size corresponds to the number of human subjects enrolled. 
  6. The bubble shape indicates the trial’s current status.

So basically you need to be able to understand quadruple encoding of the bubbles, which is quite difficult. It's very hard to visualize data that is this dense; kudos to the author for giving it a go.


  • The article reference provides a good overall analysis of the data.
  • Including the trial start dates on the x-axis helps understand when the trial took place.

  • Too many colors
  • The x-axis labels are slanted.
  • It's way too long (but I understand why it was designed that way).
  • There aren't any legends.
  • There are too many shapes.
  • The bubbles are trying to do too many things at once.
  • Comparisons are very difficult.

I had thought about examining the costs, but there isn't an information about the costs, even though the article references it. Instead, I decided to focus on the scale of the enrollees; that is, the number of people participating in each trial.

  • I used BANs for the enrollees per pharmaceutical company. I then used this as a set action to highlight that company in the line chart.
  • I looked at the enrollees per status, but I don't think that makes sense since it's the latest status. 
  • The same applies to the phase; it also only shows the latest phase.
  • I looked at how many enrollees there have been since the start the first trial for each company.
  • I included the enrollees per condition and used a set action for proportional brushing for the company selected.

I'm about to head on holiday for eight days, so I had to get this one out the door.

August 5, 2019

#MakeoverMonday: Britain's Reduced Dependency on Coal

No comments
For week 32, Eva picked a data set about Britain's progress towards zero dependency on coal power. There have been calls to do this in the US, even policies put into place by the Obama administration, only to have Trump rip them all apart to appease his donors. Slimeball!

  • Great color scheme
  • Easy to understand layout
  • Good color legend
  • Informative title and subtitle

  • Not much; it's quite fantastic.
  • Maybe make it more interactive so you can see the specific values when you hover

I wanted to see if I could rebuild this viz because it looks so good and it would be a good learning experience for me. Creating the viz was pretty straightforward. The tricky part was getting the colors to work just right. I did that through a calculation that makes 0% go to -20% so that the color range would be close to the original.

Lastly, I wanted to change the title and subtitle to something different that explains the data better. I pulled some text out of the article by The Guardian.

July 30, 2019

#TableauTipTuesday: How to Sort by Measure Names with Parameter Actions

No comments
Parameter actions are as powerful feature in Tableau. In this tip, I show you how you can update a parameter with the Measure Names field. In that past, you could never use Measure Names in a calculation, but parameters are now an exception because of parameter actions.

July 29, 2019

#MakeoverMonday: STD Infection Rates in America 1996-2014

No comments
For week 31, I asked the community to makeover one of my very first Tableau Public dashboards. Tableau Public went live with version 6.0 in November 2010.

Here's the viz:

Eva had the idea this week to created a discussion on Twitter about what people thought could be improved. For me, it's been a fascinating discussion and it shows how much people participating in Makeover Monday have learned about data visualization. Follow the thread here.

  • Simple title that includes the time frame for context
  • Using the subtitle as instruction
  • Keep the filters grouped together on the right, out of the way

  • Lose the red/green color palette.
  • A diverging color palette should only be used if there's a natural midpoint; there isn't one with this data
  • There's double encoding on every chart.
  • The State filter list it too big; granted though that there was no multi-select dropdown filter at the time.
  • The map and the states bar chart are the same.
  • The sparklines and the bar charts represent the same data.
  • The reference lines aren't needed. What does an average infection rate really mean?

I decided to go back to Tableau 6 to see if I could create something decent. You can see the whole recording below. I took a lot of the feedback from Eva's thread and incorporated it into my viz. A few decision I made:

  1. Simplified the metrics
  2. Used a map that weights all states equally (like a hex map but circles)
  3. Used only a single color
  4. Used highlighting more effectively
  5. Created simple filter actions
  6. Used simple chart choices

So here's my Makeover Monday, built with Tableau 6.0:

July 21, 2019

#MakeoverMonday: Arsenal Player Stats 2018-19

No comments
This week for #MakeoverMonday, Eva was ever so kind to pick a topic that I really enjoy...Arsenal! She did this to coincide with my 800th Tableau Public viz. More about that in a future blog post.

Here's the original viz:


  • A table is a simple way to display stats that serve the purpose of looking up values. That seems to be what the designer had in mind here. This viz isn't for comparing players.
  • Being able to sort by the headers
  • Including an image of the player; this helps those that are already familiar with them.
  • Including links to the player's profile

  • Other than this being used to look up information, what purpose does it server? It merely a list of facts.
  • There's no context for the numbers. How does a player rank amongst the team?
  • It's visually unappealing.
  • I can't find definitions for some of the stats. For example, what does "In Squad" mean? No clue!

I first thoughts about creating player cards with the stats over time, big numbers, etc. But the data was only for one season, so I had to scrap that idea.

Then I thought back to a viz by Andras Szesztai that I was shown last week. His viz is about NBA basketball team spending by season, and it includes stats like the lowest, highest, and average payroll. He then has a mark on the viz for the salary cap.

I took his concept and applied it to the team and player stats. I included the minimum, maximum, and average for the team for each stat (like Andras did for each season). I then included a dot for the player selected. This allows you to see how the play compares within the team as a whole. So I got to include a player card of sorts after all!

Lastly, I made it mobile friendly because it seemed to make more sense to scroll down the viz vs. laying them out in a grid.

Check it out!

July 14, 2019

#MakeoverMonday: More than ever, Americans aren't having sex

No comments
Week 29 has us analyzing the changing frequency of sex by Americans. Thank you to Pablo Gomez for bringing this chart to my attention.

What works well?
  • Overall, the chart is really good. 
  • The title and subtitle make it very clear what the viz is about.
  • The labels focus you to the topic the creator wants you to focus on.
  • I like how the first year is a filled dot and the last year is an open dot.
  • Bolding the first and last years on the axis
  • Including the % sign on the y-axis for only the top value

What could be improved?
  • Is this colorblind friendly? I'd recommend verifying.
  • Does green mean good?
  • I don't know how they came up with the percentages they did. They don't match the source.
  • Label the lines directly with their frequency instead of using a color legend.
  • Lighten the gridlines.

What I did
  • Like the original, I filtered out 2012 because the data looks corrupted.
  • I liked the original, so I didn't change a whole lot. The main difference was splitting up the frequencies vertically.
  • Because I split of the frequencies, I made the viz tall and skinny and mobile friendly.
  • I labeled the start and end of each line.
  • I labeled the highest value for each frequency.
  • I included the change between 1989-2018 on the end of each line as a summary. I had to float everything to make this work, which damaged my soul a bit.
  • I'm only displaying the first and last year on the y-axis.
  • I included tooltips so the reader can see the exact values.
  • I used three shades of a single color that go from least sex to most sex (since the focus is on less sex).
  • I kept the same title and subtitle.
  • I used fonts from the Washington Post website. NOTE: They won't render on Tableau Public unless you have the same fonts installed (Playfair Display and Yantramanav).

July 9, 2019

#TableauTipTuesday: How to Create a Parallel Coordinates Plot

No comments
In this week's tip, I show you how to create a parallel coordinates plot. If you want some additional practice, this chart type was used in Workout Wednesday 2019 Week 49.
What is a parallel coordinates plot? Here's the definition from The Data Visualisation Catalogue:

This type of visualisation is used for plotting multivariate, numerical data. Parallel Coordinates Plots are ideal for comparing many variables together and seeing the relationships between them. In a Parallel Coordinates Plot, each variable is given its own axis and all the axes are placed in parallel to each other. Each axis can have a different scale, as each variable works off a different unit of measurement, or all the axes can be normalised to keep all the scales uniform. Values are plotted as a series of lines that connected across all the axes.

This workbook uses data from the NBA Stats website. You can get the data by downloading the workbook and unzipping it.


July 8, 2019

#MakeoverMonday: Asylum Applications in the EU

No comments
There's way too much negativity in the news about migrants being terrible people, causing problems in their new countries, being rapists and bringing drugs. Every human being deserves to live a happy and safe life. Period.

This week's topic relates to asylum seekers in the EU.

Source: European Asylum Support Office

What works well?
  • Map allows for exploratory analysis
  • Using a time series for the years
  • Informative tooltips
  • Single continuous color scale for the pending cases
  • The time series overall clearly show the growing trends.

What could be improved?
  • The filled map makes it hard to find smaller countries and to compare them with larger countries.
  • The diverging color scale of the dots on the map imply that once you get 50%, that means things are good. Is that true?
  • There's no indication of what the size of the dots represent.
  • There are too many colors fighting for attention.
  • The stacked bar charts are good for showing the overall trend, but the patterns for the individual colors are hard to determine.

What I did
I started by reading the article and noted three key statements that I wanted to focus my analysis on:

  1. Most applications for asylum were lodged in Germany, France, Greece, Italy and Spain.
  2. Citizens of Syria, Afghanistan, Iraq, Pakistan and Nigeria lodged the most applications. 
  3. Only five out of the 20 most common citizenships of asylum applicants in 2018 applied in increasing numbers compared to the previous year: Iranian, Turkish, Venezuelan, Georgian and Colombian nationals.

From there, I attempted to build charts for each of these facts. I was not able to create charts for the second and third facts as that level of detail was not provided in the data set. Instead, I changed my focus to the headlines at the top. I created BANs and some basic charts, but instead of comparing to 2017, I compared to 2015 since that was the peak of applications.

Click on the image to view the viz on Tableau Public.

July 2, 2019

#TableauTipTuesday: Fun with Maps

No comments
Dot maps, density maps, round maps, square maps, hexbin maps, emoji maps...this video shows you how to build all of them.