Being from Cincinnati, I don’t think Cleveland has much going for it…besides their dot plots. They do dot plots really well (I know, I know its not named after the city, but it worked). I first came to know of this chart type from Jeff Shaffer’s blog post here about different bar chart variations. If you’re asking yourself, what the heck is a Cleveland dot plot, please see the screenshot below.
My need for this chart type arose while working with a client on a dashboard that needed to show several different demographic and categorical breakdowns in an executive summary view. I started by using a view in which I showed the high level KPI broken out by bar charts to show the different groups. Something kept bugging me about the amount of space that the bar charts were taking up on the dashboard (see below).
While the bar charts weren’t exactly suffocating my dashboard, I did seem to focus on the bar charts when first glancing at the dashboard instead of the high level metrics, which I did not like. Although close to a final product, I decided this dashboard could use a different chart type. Jeff Shaffer had just published his Bar Hopping visualization that has a ton of different alternatives to the standard bar chart, so this was naturally my first stop. I ended up liking the Cleveland dot plot so much so that I decided to write a whole blog post about it!
The first thing that jumps out to me about the Cleveland dot plot is the simplicity of the chart type. When viewing a bar chart, the entirety of the bar is relevant in comparing values, while the Cleveland dot plot only places your focus on one dot at a time. I think in this aspect, it’s much easier on the eyes to read.
Replacing sometimes spacious bar charts with a single dot buys a lot of dashboard real estate while still enabling you to compare metrics in a similarly effective manner to bar charts. See below the same dashboard, one with regular bar charts and the other with the Cleveland dot plot.
Repeating bar charts may make the dashboard seem busy.
Although I did not make use of this third concept in my example dashboard, the ability to annotate Cleveland dot plots is much easier than bar charts. Because you do not have the background color of the bar chart to compete with, text colors on those annotations are also easier to choose and read.
When using the Cleveland dot plot, you are also able to make use of the text labels in Tableau. One reason is that the dot, unlike the bar, does not naturally align the chart to the left. You can put a text annotation on the single dot without the alignment of your chart looking awkward. Secondly, there is more white space in the Cleveland dot plot for your text to fit in the chart area.
Making a Cleveland Dot Plot
Making a Cleveland dot plot in Tableau is extremely easy. Just like a bar chart, drag the metric you wish the dot to represent to Columns and drag the dimension you wish to dis-aggregate by to Rows. Now, double click into your Rows to bring up the custom formula box and put Max(0) and click enter. This should automatically make zero lines for your rows appear. Now change your Marks card to Circle and voilà, your Cleveland dot plot.
I like to use the left column after the dimension you originally dis-aggregated by to put in the metric that your dot represents. In order to do this, make your desired metric a dimension when you drag to Rows. If you don’t like this approach, drag the metric to Label and have the metrics displayed as text on the chart itself.
A recent client wanted to be able to be able to compare metrics between different demographics on the Cleveland dot plots. I accomplished this by making a field changed a parameter available on the Marks card. The Parameter defaulted to All which showed just the normal metric, but I included the different demographic categories available in the data which allowed the single dot in the Cleveland dot plot to be replaced by several dots representing the different values of the chosen dimension.
I am glad I got to share my enthusiasm about this chart with you all and if you have any questions or comments, please make sure to email me at firstname.lastname@example.org or DM me at my twitter handle @jsbaucke.