The Art of Chart Crafting

Lou Robinson
Sep 26, 2019 · 7 min read

There’s a lot that can separate a good chart from a bad one. I often think of the final stages of creating a chart as crafting- the process of applying your specialised knowledge and refining the output into something great.

Craft — verb
To make or produce with care, skill, or ingenuity

A lot of people come to data visualisation from a data background and struggle with these last steps. I studied graphic design, and while I don’t know everything, this allows me to use those skills to refine my visualisations into something visually appealing.

After you’ve gathered your data and analysed it, exporting the chart would be really easy. But these steps can level up your graphic above the software defaults and improve how it is read, received and interpreted, improving the overall impact of your visualisation.

This won’t be a ‘follow along’ type of tutorial, I just want to walk you through some of the thought processes I have when putting a chart together, and hopefully give you something to think about next time you create a chart.

I’m going to use some dummy data for this, I don’t want the focus of this to be about that, I want to focus on the aesthetic choices we make. So here is what my chart looks like currently:

Basic chart, using the Excel defaults.

It doesn’t look particularly pretty as it’s just the Excel defaults, but it serves the purpose: I can look at the chart, see that the average charts created each day has been growing in the last few years, and is projected to continue for at least the next few years. But it doesn’t exactly draw you in, it’s not the easiest to read and is lacking that extra something that makes a chart sing.


One thing to consider when putting together a chart is how the reader is going to decipher the data values that are being displayed. We could label each bar, but I don’t want to create too much clutter, so let’s add in the y-axis line, so we can see where those horizontal lines lie a bit easier. I also want to tidy up the x-axis. We don’t need to know the day and month, so we can remove those and just show the year.

I could write an incredibly long post about typeface choice but for now, I will keep it quite simple. Here are my top tips for choosing a typeface to get you started:

  1. Steer clear of the default fonts. Not all system fonts are bad, a lot are brilliant pieces of design with long histories of being used incredibly well. But if you change it to something other than Calibri or Times New Roman, you set yourself apart from the millions of charts created in software like Excel every day.
  2. Keep it clean. Don’t go for something wild like Jokerman or Impact. A good, clean, sans-serif font like Apercu, Avenir, Univers or Gill Sans makes your chart easy to read and looks great in print or on-screen.
  3. Variety is the spice of life. Pick a font that has a few weights and variations. Being able to create typographic variation with bold, italic and regular weights can help the legibility of your chart by creating a visual hierarchy in the labels and titles.
  4. Don’t go too thick or thin. Try to avoid a naturally skinny font as it can be hard to read if it’s quite small, and similarly don’t pick a thick heavy font as it can be too powerful and you’ll lose any hierarchy.

For a bit more detail, check this blog out:

I’m going to use Akkurat Pro as it’s one of my favourites. This gives me a few weights, so I’ve set the title in Akkurat Pro Bold, and the rest in Regular, setting the title apart from the rest. I’ve also moved the title up to the top left, as when we read our eyes naturally go from top left to bottom right.

So this is how the chart stands now:


This can be one of the hardest things to get right, as there are often so many things that come into play; brand guidelines, the number of categories, accessibility, etc etc. Keep it simple and use your common sense and you probably won’t go too far wrong.

If you are plotting categorical data you should keep each category as a distinct colour, trying to avoid too similar shades whilst not making it too much of a rainbow. Try to pick colours with different hues, rather than the saturation, this will help differentiate the colours. This can be difficult if you’ve got lots of categories, but if you have more than 6 you should consider merging the smaller ones into their own category called ‘Other’.

When it’s sequential data, trying saturation and lightness to create differences in your range.

There are a multitude of tools available that can help you even if you don’t have a background in art/design. I won’t go into these in-depth but they are useful resources to look through:

I’m going to set my columns in red. There is only one category here, which makes it a bit easier, but later on we can look at this more.


Much like with the typeface weights, we can create visual hierarchy and divisions by adjusting the weight of different elements of the chart. For example, the axis’ are getting a bit lost, so let’s increase the line width slightly and make them slightly darker.

Edward Tufte would probably disagree with me here, but I think the bars on the chart are also a bit thin and distant from each other. The purpose of this chart is to show the relationship between the years, so let’s decrease that gap slightly.


Now the chart is starting to look nice. The typography is clean, the colours are nice and there is a nice visual hierarchy making it all quite easy to read. But what about the structure of the chart, and its underlying data? The data starts in 2008, generally increasing until where we are now in 2019, then continues to increase until 2023.

How can we visually show this change in the data? Up until 2019, we have counted the charts and now some clever data scientist somewhere has come along and predicted what we’re going to be doing in the years to come. We need to show this change otherwise the chart could be misread, or misinterpreted if the reader isn’t paying close attention to the x-axis.

Let’s knock the saturation down on the last 4 bars, indicating that these years are slightly different to the rest, highlighting them as an interesting area to look into. We could label the end section, maybe add a tinted background behind it? But I think desaturating them slightly shows what we want.

The chart now has more visual structure that reflects the underlying data, helping the reader understand the information it is trying to convey, which is the ultimate goal.

And in conclusion…

To sum up, here are the things to take into account when crafting your chart:

  1. Consider how well the chart can be read by selecting a sensible typeface and using the axis to help aid decipher the data.
  2. Be sensible with your colours. Trying using your brand colours and adjusting the hue to give a variance.
  3. Balance your chart by adjusting the visual weight of the elements. Contrast weights to make things stand out and aid in reading.
  4. Think about the structure of your data, highlight anything interesting or different within it. This can be done with labels, annotations or a simple colour change.
The full process of creating this chart.

This is my first blog post, and the first time I’ve written something in a while so I’d love to hear any feedback or questions! Comment below or send me an email at:

Analytics Vidhya

Analytics Vidhya is a community of Analytics and Data…

Analytics Vidhya

Analytics Vidhya is a community of Analytics and Data Science professionals. We are building the next-gen data science ecosystem

Lou Robinson

Written by

I am an information designer, with an interest in data visualisation and cartography.

Analytics Vidhya

Analytics Vidhya is a community of Analytics and Data Science professionals. We are building the next-gen data science ecosystem