The highlight table above has white borders around each mark. Why did I make this change to the defaults?
Tableau’s default mark border is None. in this post I will explain why I often find myself changing the defaults. Here’s what the chart looks like with the default border setting:
As I mentioned in my first post about these charts, there’s nothing inherently wrong with having no border. It largely comes down to personal intuition. I think that changing the border to white brings the marks into more focus.
What do you think? Is my highlight table improved by using white borders?
Should you add borders to your marks at all times? No. Should you add them sometimes? Yes. How should you decide? The good news is that it is so easy to do this in Tableau you can easily try it with our without borders and go with how you feel.
It’s no accident that the tick marks are like they are in the above chart. Check out how they’d have looked if I’d left them at their defaults:
I’d rather my tick marks were at round numbers (1975, 1980, etc) than at odd numbers like 1983. As I’ve said throughout this series of Design Month blogs, it’s not a big problem but it’s a nice one to solve.
Let’s look first at the time series:
Getting the tick marks to start at 1975 is acheived by using the “Tick Mark Origin” feature that appears when editing time Date dimension axes. Set it to the value of the first major tick mark you want as below:
Fixing axes on a slope chart
My slope chart has a couple more tricks up its sleeve.
You’ve spent hours crafting the perfect dashboard. It has some time based data on it and you’ve used Tableau’s amazing date hierarchy to build it. Every pixel is perfect. You publish it, proud and delighted.
And then someone interacts. They see a plus button. They click it.
Boom! What happened? The view’s broken.
The viewer leaves your view confused and somewhat disappointed.
Have no fear, this needn’t happen to you.
The plus button is designed so you can drill into and out of hierarchies (find out more here). It’s an amazing feature for exploration and works well on many dashboards.
Sometimes you don’t want this behaviour. In my highlight table above, for example, I don’t want my users to be able to drill into the date any further.
To get rid of the plus buttons when using dates, you can use custom dates. These are date fields focussed on just one level of a date hierarchy and cannot be expanded.
Right-click on your date field and choose Create Custom Date:
Then choose the date level you want. You can create discrete (“Date Part”) or continuous (“Date Value”) fields at any level from day to year.
You now have a new dimension available. Put the new date dimension onto your view instead of the original date and your view no longer has the plus symbol.
Well done. You’ve just got control of your guided analytic dashboard back!
The Rosetta is about to attempt to land on a comet. This is astonishing and exciting. Here’s some incredible photos of the comet on the New York Times. In honour of this event, here’s a post about comet charts:
If only I’d gone vertical and not stayed with horizontal.
“Comet chart”? But… But…. But…. I came up with that idea in 2012. How dare they steal my idea.
What? You’ve not heard about my comet charts before?
That’s fair enough: they were a doomed experiment several years ago and only ever seen in a thread on our Tableau Community. Below, in its non-intuitive glory is my comet chart:
(Before I continue I’m happy to acknowledge other reasons you might decide the above dashboard doesn’t work)
Zen Armstrong’s version succeeds where I failed. Her up-down orientation fits in with ones mental image of growth/decline and gravity. If only I’d thought about trying that. In order to make my chart more readable, all I needed to do was orient the marks differently:
It might come as a surprise then that I thought his talk was entertaining, inspiring, well-structured, well-meant and funny. I agreed with virtually everything he said.
I was very impressed with his new model for the pursuit of data-led knowledge. Raw data are the atoms. They become structured data (molecules) which become linked information (chromosomes). And so on to inter-connected knowledge (organisms). David applied this model to the field of climate science and it fits. It’s a model I could use when talking to companies and journalists.
When talking about his motivation, it’s the same we all feel: all he wants to do is tell engaging stories with data and design.
McCandless focused on how he got into being a graphiste: accidentally. He was a programmer, then a journalist, then in advertising, and finally it all came together as a visual designer. This resonates with me. I never planned to get into dataviz, but my history as budding comic artist (I was young!), geographer, journalist, software engineer and database admin gave me the tools that, when data viz turned up, were all I needed to pursue a passion.
He’s also modest, funny and engaging as a speaker. He doesn’t preach his thoughts, he shares them. He doesn’t say his way is the right way, he just explains the way he does it and what happens when he does. His ultimate advice is to just get out and play with the data.
What then, are the criticisms? These days I measure a visualisation against Alberto Cairo‘s 5 values of visualisation:
Functional? This has always been the most contentious for those of us who first learnt our craft from people like Stephen Few (who also has harsh words to say on the topic). McCandless’ charts are not designed to best align to visual perception. In so many cases, boring bar charts would be better if the aim is to aid fast comparison of values.
What I realized tonight is that there’s a problem trying to critique McCandless. I suspect his response to any criticism would be “Yes, you’re right. I’m just trying to communicate a story and somehow people seem to like the way I do it. I’m not saying I’m right. I’m not saying I’m the best. I just do it my way.”
As for truthfulness, he’d probably agree and say: “Every single data source is linked to on my site. I may not be wholly accurate but I am open with where I get my data.”
I do believe he needs some more practical advice for people who look to him not just for inspiration but for practical ideas of how to get started. Currently he makes it sound harder than I believe it is.
Where does that leave me? I used to be a disciple of the Stephen Few world, but am no longer so zealous. Data visualization needn’t be polarizing and McCandless’ motivation and humility earns my fullest respect.
In order to emphasise the seasonality, I made 7 decisions, each of which is explained below.
Draw one line for each year
Use moving average
Add an Average reference line
Use a gradient colour for a subtle indication of years
Add annotations for clarity
Create a custom legend
1. Draw one line for each year
I have written about seasonality before (click here). In this case I wanted Months on the x-axis with a line for each year. That’s very simple to do – just move the dimensions into the correct place:
This gives us a line for each year in the dataset. It’s a nice clear display of which months see the most fatalities.
2. Use moving average
The peaks and troughs are a little bumpy. To smooth out the experience for the end user, I used a moving average. You can see the differences below. The left hand side is easier on the eye and thus the story is easier to digest.
I don’t state anywhere on the view that I am using a moving average: I acknowledge that my view is slightly misleading. The tooltip, however, shows the actual value, not the moving average.
3. Add an Average reference line
The average reference line adds more context to the view. In this single view, you can see each individual year and also get the overall picture of fatalities during each month.
4. Use a gradient colour for a subtle indication of years
There are too many colours in the chart above. You could put [Year] on the Detail shelf to have just one colour:
This is ok but it’s hard to see any change between years. I chose to add a subtle colour palette. This indicates there’s a difference between each line but one that’s subtle.
To show the changes I:
Put Year on the colour shelf and chose a red palette
Reduced the size and increased the transparency:
5. Add annotations for clarity
Now that I have a line for every year and for the average fatalities for each month, I needed to clarify things a little. I annotated values in the upper and lower area of the chart. These provide context for the user.
6. Create a custom legend
Tableau won’t create a legend to show that the thin lines are single years and the thick line is an average reference line. I created that in Powerpoint (hat tip to Mark Jackson) and floated the image on the dashboard.
7. Add dots
The final piece was to put dots on the average line. This gives an extra indication that the average line isn’t the same as the fine lines.
I’ve always liked this little feature. It emphasises the marks for the average line, allowing the individual years to further blend into the background.
A time series focussing on seasonality
My end result? A chart, I hope, emphasises not only the seasonality of fatalities in the US, but also gives us a better sense of the data by showing individual years, too.
What do you think? Were my design decisions appropriate?
The full dashboard is available by clicking on the image below:
See the thick line in the chart above? That shows the average number of fatalities in a month for all years in the dataset.
It’s the equivalent of drawing an average reference line for each cell in the view, which you can see below:
The reference lines are quick and work, but they’re not attractive and are a little difficult to interpret.
To draw the line you need some table calculations.
I’ve recreated the chart using the sample Superstore data and you can see the workbook by clicking on the image below:
Making the average line
To make this chart, I start with a basic seasonality view: [Month] on Columns, [Year] on Colour/Detail shelf.
I then need to work out the window average in each month. here’s the calculation:
Drop that onto the Row shelf and set the Compute Using settings as follows:
Now you should have a chart with the regular measure and the average calculation on the Row shelf. Right click one of the measures and choose Dual Axis. Then right-click on one of the axis and synchronise them.
That’s the basic chart done. I had to tweak the Colour, Transparency and Size a little to get a result I was happy with.
An anti-aliasing problem
This is pretty much complete. But there’s one thing that’s niggling. The average line is jagged:
What’s going on here? Well our average line is actually multiple lines, one for each year in the dataset, drawn on top of each other.
How do we solve that? I created a new calculation:
If you set this with the same Compute Using… setings as the calculation above, you get a True/False value. The True value is applied to just one of the lines being drawn on the chart.
Drop this field on the size shelf, right-click on the False mark in the legend, and choose Hide.
This solves the anti-aliasing problem and makes the view that small but significant bit nicer to look at.
As you can see in the image below, what I’ve achieved is the equivalent of doing a per cell reference line, but made it much more attractive:
What do you think? Is this the best way of showing seasonality? Is there a more efficient way of doing this using simpler calculations?
Click the image below to see and play with the complete workbook:
Do you need “Year of accident” or “Year” on an axis when it’s obvious what it shows? I’d say no. Do you need to label your y-axis with “Fatalities” when you’ve got it in the title? I’d also say no. You can see how it looks with and without the titles below. Which do you prefer?
Show the fewest tick marks you can.
In the image below, you can see the difference between lots and few tick marks. Neither of these are bad but I felt fewer tick marks helped focus on the trend in the data
Set the axis range so that relevant, round values are shown.
Check out the difference between the default axis on the time chart (lower chart below) and my edited version (upper chart) It’s easier to start your eye at 1975 than it is at 1983:
In Tableau, getting round values in your default dates is a little trickier than you might expect and for full control you need to master the Edit Axis box. I will blog that separately.
Those were my design choices in this case. Was I successful? Let me know. Remember: none of these are mandatory changes and I don’t even suspect everyone would agree these are improvements to the originals – it’s partly subjective and partly depends on the goal of your viz.
Here are two dashboards. The bottom one uses all Tableau’s default formatting settings. The top one has at least 25 formatting changes or design decisions: these changes take a few hours to implement. Why bother? What’s wrong with Tableau’s default formatting?
The short answer is: nothing. The longer answer is more nuanced.
It’s Tableau Public’s Design Month so I wanted to do a series of related posts. In these posts, I’ll be focusing on the dashboard above (click here for bigger version). This was my entry into Tableau’s annual internal “VizWhiz” competition. In this round, we were given data was about US road traffic accidents.
There are at least 25 things design decisions I’ve made to produce that viz. That’s 25 changes I have made to the default Tableau formatting: some small, some large.
But first: why change the default formatting? What’s wrong with Tableau’s defaults?
Let’s look again at the default dashboard:
Let me repeat: There is nothing inherently wrong with Tableau’s defaults.
My story can be understood from the default dashboard above. In fact, I am sure some people reading this will think the defaults are better than my design. If so, let me know in the comments below.
So why bother? Why would I spend hours tweaking what is already a perfectly-fine dashboard?
I take my inspiration from ex-British Cycling performance director Dave Brailsford. He led the British Cycling team to huge success through his “marginal gains” (click here to find out more). The principle is that you make all the small and large changes you make. Even the small changes, when aggregated, make a difference.
Each formatting tweak might only improve my viz a tiny bit.
The default formatting gives you a bronze-medal dashboard. There’s no shame in getting a bronze medal for something. If you’re in a business environment, producing dashboards for fast, iterative consumption, it is perfectly fine to leave the defaults as they are.
However, what if you want the Gold medal? In this case, you make all the changes you can. Even if they are small, the aggregate effect is significant. For that reason, I am happy to go the distance and make grab every “marginal gain” that I can.
Over the next month, I’ll be describing most of the formatting and design decisions I made.
Humblebrag alert: I am pleased with my dashboard but am wide open to criticisms about it. I am sure that what I think are good decisions might well seem like bad ones to you)
Are you looking for a gift for the data geek in your life? Well, now’s your chance to get your hands on some pretty unique data viz gear. I’ve always printed my own t-shirts for Tableau conferences and I’m now making them all available via my Zazzle store.