Why use a ternary plot?

A bar chart might be better, maybe

Published14 April 2024
data viz

How the UK uses its energy

Share of final energy consumption by sector

0% 20% 40% 60% 80% 100%← Industrial and Commericial 0% 20% 40% 60% 80% 100%← Domestic 0% 20% 40% 60% 80% 100%Transportation →
Source: Department for Energy Security and Net Zero
  • Point size shows the total amount of energy consumed in the local authority.
  • Final energy consumption is the energy consumed by end users, and therefore excludes energy in generation or transportation of energy. See this explainer for more information.
  • Transport energy consumption only includes road and rail. See full methodology here.

I’m a sucker for complex charts. A simple bar or line chart might often be the most ‘correct’ visualisation, but show me something with curvy smooth lines, hex bins or kernel density estimates and you’ll likely have my attention. This is perhaps why I really like ternary plots.

Ternary plots show the ratio of three variables across an equilateral triangle. These variables must sum to a constant (usually 1 or 100%), and not be independent of each other. The example on this page shows the share of final energy consumption that was consumed by the domestic, transport and industrial and commercial sectors within UK local authority areas in 2021. The data is available here.

Why use a ternary plot to visualise this data? One reason might be that ternary plots allow the simultaneous display of three variables with only two axis - though as demonstrated on this page, a stacked bar chart achieves a similar effect.

Ternary plots can also be used to show many observations alongside each other, in a way that would be impractical with a stacked bar. This perhaps gives a better sense of the overall distribution of variables within a dataset. In this example, most local authorities are situated at the middle of the triangle - meaning that their energy consumption is comparable across all three sectors.

Additional variables can also be mapped to the size and color of the plot’s points. Here, the radius of each point shows the total energy consumption in each local authority area. We could also dispense with points and use a different geometry altogether. Density contours or hex bins could be used to show the concentration of points in particular zones of the plot area, or lines to show the changes in the share of each variable over time.

Perhaps ternary plots also make clearer the dependence between the variables shown. Recording a high reading in one of the variables means, by definition, being lower in the others. In the example on this page, more than 90% of the energy consumption in the City of London (a small area of inner London home to a lot of office towers) is for industrial and commercial uses, which pushes it to the extreme low end of the axes for domestic and transportation consumption.

These are largely ex-post justifications, however. The real reason I would opt for a ternary graph is that they look cool. Exotic looking visualisations can capture attention and prompt new questions about a dataset. When creating this graph, I was surprised that so much of the energy consumption in local authorities like North Lincolnshire and New Forest was for industrial and commercial uses - a bit of Googling revealed that several large, energy-intensive industries are situated in these areas.