Saturday, August 10, 2013

Dual Axis Visibility Configuration Explained – Not What It Should Be

Dual axis charts are good choices for presenting two measures in a common context so they can be compared.

The dual axis charts immediately below are duplicates of Tableau dual axis chart. The one on the left is as-is, the one on the right identifies the left and right axes.

image/svg+xml Typical Tableau Dual Axis Chart $3,000K $2,000K $1,000K $0K 100% 80% 60% 40% 20% 0% Profit % of Sales Consumer Corporate HomeOffice SmallBusiness $4,000K Typical Tableau Dual Axis Chart $3,000K $2,000K $1,000K $0K 100% 80% 60% 40% 20% 0% Profit % of Sales Consumer Corporate HomeOffice SmallBusiness Left Axis Right Axis $4,000K This is a typical Tableau dual axis chart, a good choice for presenting two measures for comparison in a common context.The chart is showing both its left and right axes.This is normally the desired presentation, but there are circumstances wherein it's desirable to have one one or both of the axes hidden. This diagram identifies the chart's left and right axes.Note that the axes' tick marks are part of the axes, butthe lines separating each axis from the chart's body are not.

Note: everything in this post is applicable to
dual axis charts with the dual axes on top and bottom,
with left mapping to top and right to bottom.

This chart has both the left and right axes visible. This is normally the desired presentation, but there are circumstances wherein it's desirable to have one one or both of the axes hidden.

This post lays out the different presentations Tableau makes possible, and how to achieve them. Unfortunately, there are two big problems one runs into:

  • Tableau treats the left and right axes differently, which prohibits a perfectly legitimate presentation from being possible; and
  • the mechanisms for hiding and showing the axes are worse than unintuitive: they're actively perplexing, causing confusion instead of clarity in the mind of he user trying to configure their chart's axes.

The different possibilties for showing and not showing (hiding) axes.
Interestingly, Tableau does not use "hide" or "hiding" for the condition where an axis is not being shown, reducing it to a negative state which relies upon a double interpretation, which is a significant cognitive barrier that imposes a real and unnecessary burden upon the Tableau user. I will use "hide" and "hiding" for the not-shown state; even though doing so adds an additional interpretive layer to this discussion if Tableau corrects the situation it will cease to be a problem.

There are four different possible states for showing or not showing the left and right axes:

  1. Both showing;
  2. Left only showing;
  3. Right only showing;
  4. Neither showing.

There are alternate ways to describe these states, e.g.
"Left showing, Right not showing".
I prefer the language as presented because it's clear, concise, and specific.

Here are Tableau's implementations of the four states:

image/svg+xml Consumer Corporate HomeOffice SmallBusiness $3,000K $2,000K $1,000K $0K 100% 80% 60% 40% 20% 0% Profit % of Sales Consumer Corporate HomeOffice SmallBusiness $4,000K $3,000K $2,000K $1,000K $0K Consumer Corporate HomeOffice SmallBusiness $4,000K 100% 80% 60% 40% 20% 0% Profit % of Sales Consumer Corporate HomeOffice SmallBusiness Both axes showing Left axis only showing Right axis only showing Neither axis showing Tableau does not permit this state. For some reason, the right axiscannot be shown by itself.

What? No right axis only showing? Sad but true.
Why? No Design? Bad design?

I have no earthly idea why Tableau doesn't allow the right axis to be visible when the left one isn't. It feels like it's one of those situations where functionality was implemented ad-hoc to support a new feature, in this case the second—right—axis. In this sort of situation the impulse and/or time (or other) pressure to put in a new feature occurs without a systemic contemplation of higher-level consideration along with a coherent design in place and used to guide the product evolution.

Of course, I could be wrong and whomever was responsible for this part of Tableau made a conscious decision to do things this way. In which case they made the wrong decision, if for no other reason than it makes little to no human sense for the left axis' visibility to be dependent upon the right axis' visible state, added to which the mechanisms for showing and hiding the axes are needlessly complicated and confusing, which I assume is a consequence of the cross-linked super/subordinate relationship between the right and left axes.

Show and Hide Axes in Tableau (only they're called "Header" not "Axis")

In another case of confusing nomenclature, when presenting the opportunity to show or hide an axis Tableau uses "Show Header" instead of "Show Axis". This is particularly confusing since there's also an "Edit Axis" mechanism shown in the axis' right-click menu that allows you to, well, edit the axis. Why Tableau thinks that when showing and hiding an axis it should be called a Header is a mystery.

To be fair, I think I see a reason why it –might– make sense to call an axis a header. It's related to the distinction Tableau makes between Axes and Headers, which are the representations of the organizing elements for the worksheet's Cartesian space. Tableau makes a real distinction between continuous and discrete elements in this context, using them differently to organize the space. There's a lot of merit in this scheme but taken too far it bleeds over into other areas with ill effect – but that's whole topic unto itself and will have to wait its turn.

"Show Header"

Tableau's "Show Header" mechanism is a toggle that alternately shows and hides the axis it's attached to. (except when an axis' "Show Header" option operates on both axes, which is a weird and confusing affair, more on which later)

"Show Header" shows up in two places: on the axis' measure's pill on the Rows shelf; and on the axis' right-click menu, which is only available when the axis is visible.

Showing and Hiding axes has two steps.

  1. Find the "Show Header" option
    for the axis you want to show or hide
    (there are wrinkles to this that I'll point out in a bit)
  2. Toggle the "Show Header" option
    The "Show Header" option has two states: checked and unchecked. When checked, the axis is visible, when unchecked, the axis is not visible.

As the diagram below shows, sometimes toggling "Show Header" switches only that axis visible state and sometimes it switches both of them.

Seems simple enough.

Not so fast. Here's where things get complicated. What happens when you toggle "Show Header" depends upon whether it's the left or right axis, and which axes are visible.

image/svg+xml $3,000K $2,000K $1,000K $0K Consumer Corporate HomeOffice $4,000K 100% 80% 60% 40% 20% 0% Profit % of Sales Both axes showing Left axis only showing $3,000K $2,000K $1,000K $0K Consumer Corporate HomeOffice $4,000K Neither axis showing Consumer Corporate HomeOffice Rows SUM(Sales) AGG(Profit % of Sales) Rows SUM(Sales) AGG(Profit % of Sales) Rows SUM(Sales) AGG(Profit % of Sales) hide hide hide hide show show show

Keeping track of which does what when is difficult. It's so difficult, in fact, that it's simpler and easier to just try something and see what happens. If it's what you want then all's fine and good; if not then try something else.

This is very poor design, and is an active impediment to usability. Instead of having a rational and reasonable human-oriented model of independent axes with similarly independent visibility states Tableau links them together so that achieving simple straightforward tasks is more difficult than it should be, makes showing only the right axis impossible.

Must it be this bad? Is there hope for improvement?

I hope that things will get better. It's hard to believe that there's an insurmountable fundamental technical reason why the current axis model can't be replaced with one that works the way real human people need and expect. Whether Tableau fixes it or not is another question, one that goes into the big bucket of questions about whether the product will improve as it evolves. Time will tell.

4 comments:

  1. Thank you so much for this!

    ReplyDelete
  2. I just ran into this again this morning.I was showing someone stock price charts on finance.yahoo.com. Pretty much a good, in the wild model to follow for visualizing time series data. The measure is on the right axis. I explained that in Tableau, the best we can do is a dual axis.

    I haven't tried the "using white" hack that is mentioned in this link:

    http://community.tableausoftware.com/thread/125048

    ReplyDelete
  3. I had this same problem. I just used a dummy axis on the left and set tick marks to 'none' which means the whole axis on the left is no longer visible.

    ReplyDelete
  4. THANK YOU ever so much.

    ReplyDelete