A Little Design Makes a World of Difference


In late 2019, I started compiling a list of simple design techniques to improve both chart and dashboard aesthetics.  That list grew to 26 in total, but it became more about clarity of charts, how to properly use color, layout...it became more of a collection / blog post about best practices.  

That blog post (with associated Tableau Public workbook) was called Simple Steps for Better Design.  Although that blog post turned into something different than my original focus, it became one of the most popular on our website and evolved into a presentation that I gave 15 times (and counting) to different audiences.  And in addition, it contains 10 or so examples that were specific to design aesthetic.  

In this blog post, I intend to do what I had originally planned and focus solely on different ways to design charts and dashboards purely for aesthetic (although there are other benefits as well).  This contains just 10 examples, but before you check this out, I strongly recommend that you check out my Simple Steps for Better Design workbook on Tableau Public and blog post as there are many examples of simple design techniques that you can employ to make your dashboards more pleasing to the eye.  Please also note that as more examples arise, I'll put together additional blog posts with additional design tips and techniques.

Before continuing, you will need to open the A Little Design Makes a World of Difference workbook on Tableau Public so that you can follow along.  I should also note that this is not going to address the entire design of the chart or the dashboard.  I am simply going to provide some very quick and easy tips to improve your design.  The rest it up to you.

1. Scatterplot Design

There are lots of things that you can do to make a scatterplot look nice and I'll talk about just one of these, a technique that I fell in love with when I saw it used by Pradeep Kumar.  

This technique is simple.  You start with a scatterplot with circles (filled circles), but then you create a dual axis.  On one axis, you change the mark type to an outline circle (no fill).  The opacity should then be turned down for the color on the other axis (filled circles).  You then synchronize the axes and are left with a really gorgeous scatterplot.  

There is an example above and in my workbook, but you should check out how beautifully Pradeep does it in his Internet Access viz for Makeover Monday.  Gorgeous, huh?  

Before I move onto the next tip, I must give credit where credit is due.  Ryan Sleeper wrote about this technique many years ago and it can be seen throughout his work.  So I strongly encourage you to check out his blog post - 3 Ways to Make Stunning Scatterplots.

2. Bar Chart Design I

In my work dashboards (and probably my personal work as well) I use bar charts more than any other chart type.  That may be the reason that I sometimes feel a need to vary their design.  

This particular design shows bars as a comparison to the longest bar in the group.  For example, binders in blue is the largest measuring 1523 and all other values are measured against it.  I really like this from a design perspective because it aligns both sides of the chart against a common margin.  But it is also valuable from an analytical point of view as comparisons can much more easily be made.  For the example above, the orange is much more easily compared to the blue when both are plotted against this largest value.  

Creating this is simple.  First create a calculation to determine the max value in your view.  In my example workbook, I used a fixed LOD to count the order IDs ({ FIXED : MAX( { FIXED [Sub-Category]: COUNT([Order ID])} )}), but you can also use a table calculation like WINDOW_MAX.  Place this fixed LOD (or table calc) onto Columns then create a dual axis.  Both axes will be bars.  

The bar in the foreground (actual measure) will be made larger than the one in the background (fixed LOD) and color can be applied to the one in the foreground as well.  The background bar should be made black or gray.  I think the line should be as think as possible, so I tend to add a border to the bar as well - that border should match the background color of the dashboard.  (Note, if you want the bar to appear even thinner, use a lighter color, like a light gray on a white background). Finally, label the background bar for a very clean look.  

Please note that this design is often used as a "progress bar" for measuring a value to target or as a percentage.  I use it for this purpose all the time as well.

I used this technique for my "The Most" viz and I think it did a great job of aligning everything on both the left and right hand sides.  But the first place I ever saw it (used to show percentage), was from the great Georgia Lupi in her Nobel Prize data visualization.

3. Dashboard Design

This example is all about a dashboard layout before a single chart is even added.  I personally like to do a couple of things.  First, I like to add a large header container and footer container then use a fill color that will be utilized within the dashboard.  This creates a natural frame for the dashboard without adding a border around the entire thing.  It also allows you do draw out the colors utilized in the visualization and really makes those colors pop.  And wait until you see a dozen dashboards with this similar design on your Tableau Server - it looks amazing.  

Now what do I do with these containers?  Well, the containers provide valuable real estate for a variety of elements.  At the top, I typically include a nice icon (to give the user a quick idea of what the dashboard is about, plus it looks really nice) along with a title and subtitle.  I also utilize this top bar for filters, navigation, and other buttons.  I often leave the footer blank, but still include it as it completes the frame of the dashboard.  However, it is a good place for information such as when the data source was last updated, sources, and other notes.  

You will see lots of examples of this dashboard design in my company's Tableau Public page.

4. Choropleth Map Design

In this example, I use an alternative map projection shapefile rather than a standard Tableau map.  Yes, it looks way better (at least in my opinion), but it also solves a plethora of other problems.  But there is no reason for me to write any more about this as I recently shared an entire blog post on the benefits of using alternative map projection shapefiles as well as a full tutorial on how to do it.  Check out my blog post - Alternative Map Projections in Tableau.

How about a couple examples?  Jeff Shaffer and I used one of these maps at the top/right corner of our Cicada viz and Lindsay Betzendahl used three of them in her community diversity viz.

5. Line Chart Design I

I admit, I rarely utilize pure line charts for a single line.  I mean, I love white space, but a single line by itself provides a bit too much.  For that reason, I tend to change single line charts to area charts.  Not only do I think they look nicer if properly designed, but I actually think they are easier to read.  

I typically create a dual axis leaving one axis as a line and turn the other to an area chart.  On the area chart, I leave the color the same as the line chart, but I turn the opacity down significantly, typically down to the 15% range.  On the line, I leave the opacity at 100% and make the line slightly thicker.  And of course, synchronize the axes.

Pradeep Kumar uses this technique well.  You can see it in his RWFD dashboard and in his Community Mobility dashboard.

6. Stacked Bar Chart Design

The difference from the original may seem a bit minor; one has a label and the other has an axis, right? That is true, but there is more.  

Although this was supposed to be strictly design...well this one really isn't.  The problem with the original is that axes are hard to measure length with, but more importantly, the order of the different color bars makes it difficult.  The pink are easy to compare since they share a common axis, but the gray are not because they don't share an axis.  One option would be to allow the user to sort the bar to the axis (I talk about this in my Simple Steps for Better Design blog post), but in this case, it seems unnecessary.  

A third option would be to label all the bars and individual colors.  But that gets super messy especially with small segments.  It looks sloppy and is difficult to read.

One other major issue with this design is the tooltip.  When I hover over a bar, it, by default, provides me with the details for just the bar segment I am hovering over.  So if hovering over gray, I see details for gray, but not the pink.  When segments are very small, they are hard to hover over and sometimes users can misunderstand the data.  At work, we had a dashboard showing a stacked area chart.  99% of the data fell into one category and 1% into the other.  The user was hovering and believed that it was giving him the full amount in the tooltip, but it was only giving him the 99% he was hovering over.  He needed to hover over that portion and then try to hover over that tiny 1% sliver.  It was just confusing.

So to address all design issues and issues with understandability, I utilize the design above.  This design shows a value label for the entire bar (not segmented).  I then utilize some fixed LODs to calculate the total value for the entire bar then the values for each segment.  In the example, each segment represents problem orders and active orders.  These fixed LODs are then added to the tooltip and color (pink or gray) is shown in that tooltip using an Alt Code Circle "".  (Also note the nice design of the tooltip itself).  With this technique, we solve all kinds of problems.  (Note that it wouldn't work well with lots of stacked colors).

7. BAN Design

In most of my examples above, my intention was to improve upon the original.  However, in this case for Big Numbers or BANs, I think the original is perfectly fine.  But there are lots of alternatives if you want to change it up a bit or if one of these alternatives just works better in your dashboard than the original. 

Recently, I created a Tableau Public workbook focusing solely on different BAN designs with a video tutorial to go along with it.  If you are interested in changing up your BAN design, I'd suggest you check it out. 

8. Bar Chart Design II

I hate when things feel cramped and my favorite way to control this is the use of white space (I don't like using lines or borders).  Oftentimes when you have bar charts showing different categories and sub-categories, the bar charts become very crammed and it's difficult to see where one value ends and the other begins.  

So let's fix this with white space when it goes from one value to the next.  But how the heck do we do that?  Well, this particular technique could have easily landed in a tips blog post rather than a design one.  Rather than provide the steps, here is a GIF showing you how to do it.  (Love the "Hide" part!)

9. Line Chart Design II

The regular line chart with y axis is probably just fine, but rather than use an axis on a line chart, I typically note a min and max, first and last, or simply the last mark.  I also commonly like to to add a circle mark to each point that I label.  In this case, I utilized one of Sarah Battersby's firefly shapes (you can get them here), but you could use a normal circle as well.

As a side note, as previously stated, I'd probably end up turning this into an area chart.

10. Bar Chart Design III

Long titles drive me nuts just because they are difficult to make look nice in a dashboard.  In the case of long titles with a bar chart, the title can often take up more space than the bars themselves.  In addition, I strongly prefer left aligning my titles and with long titles, this can be problematic as shorter titles may appear very far from the bar, making it difficult to tell which title goes with which bar.

One of my favorite techniques to resolve this issue is to use a bit of creativity to put the titles above the bars.  Not only is this great for improving the design, but it also makes the bar itself the centerpiece, as it should be.  

I've used a number of techniques to do this, but I believe the best is to use a AVG(0) and Measure Names trick that I learned from Andy Kriebel.  Check out his video - Add Labels Above Horizontal Bars.

Okay, that's it for now.  As mentioned, I plan to keep compiling examples of simple design tips and when I have 10 more, I'll share those with you too.  Best of luck and as always, feel free to reach out to me if you ever have any questions.  Thanks!

Kevin Flerlage, July 26, 2021

Twitter LinkedIn Tableau Public


  1. Beautiful designs and color codes. I will try them right-away

  2. Thank you very much for this blog post, tried out the design for line chart and bar chart in my new dashboard. Link to viz: https://public.tableau.com/app/profile/joshua.adejumobi/viz/EntryLevel_16278997403070/Dashboard1

  3. Where can I download the custom cahpes with the BAN shapes? :D

    1. There is a link to my Google Drive in the blog post. Let me know if you have issues accessing it here: https://drive.google.com/drive/folders/1JuwNu1Bc5BBZ3ghfA3M_gE7Lj3utk-17

  4. Awesome tips to make Tableau charts look fancy! Thanks!
    One question: Is there a way in Tableau to combine 5 and 9? (both Line chart designs)
    I find both of them really cool, and I know I can achieve each of the using Dual axis, but having 3 types of marks I am not sure it is possible.

    1. Hey Jacobo,

      You could definitely do it using map layers, two sheets, or some crazy data densification, but all are basically hacks. Unfortunately, I cannot think of a straightforward way of doing this.

    2. Thanks a million for the reply Kevin!
      I will go for one type of chart or the other based on what suits better each viz.
      I am learning A LOT with all of your blog posts

  5. Awesome tips! For the scatter plot idea, why not just reduce Opacity and give a black border under color?

    1. You could absolutely do that...and a lot of people do. I personally don't love it and prefer the circles to have the same color border as the circles themselves.


Powered by Blogger.