What a bubble chart shows
A bubble chart is a scatter plot with a third number. Where a bubble sits gives two values, and how big it is gives the third. The sample plots eight cities: average rent across, average salary up, and population as size. Rent and salary rise together, and the big cities sit at the top right. City D, with 2.1 million people, has both the highest rent ($2,600) and the highest salary ($88k).
This page is the Chartjuice scatter plot maker opened with bubbles on. If you have two number columns and no third, start there.
Choose the size column
Size reads as "how much", so the best size column is a count or an amount: population, units sold, number of survey responses. Before you pick one:
- Sizes are relative to your own data. The smallest value in the column gets the smallest bubble, whatever that value is.
- A blank cell is drawn at the smallest size. Fill the gaps or filter those rows out, or a missing number will look like a small one.
- The chart has no key for size. Say what size means in the subtitle, as the sample does: "Bubble size = population".
When a bubble chart misleads: area and width
The usual rule is that a bubble's area, not its width, should follow the value. Double the width of a circle and its area is four times as large, so sizing by width exaggerates.
Chartjuice starts from the area approach: a bubble's width grows with a square root, not with the value itself. But it measures each value from the smallest one in the column and fits the bubbles between two fixed sizes. The smallest value is drawn 6 pixels wide and the largest 40. The order is always right, and big differences look big. The areas are not exact ratios, though. In the sample, City D has about 8 times the population of City C (2,100 thousand against 260 thousand), and its bubble has about 44 times the area. City A has one fifth of City D's population and a bubble about one sixth the area.
So use bubble size for more and less, not for reading off numbers. When readers need the third number exactly, put it in a table or a bar chart.
Read overlapping bubbles
Big bubbles cover small ones. What helps:
- Opacity. Bubbles start at 80%. Lower Opacity under Scatter options and an overlap shows as a darker patch.
- Draw order. Bubbles are drawn in row order, so later rows land on top. On the Data tab, add a Sort step on the size column, high to low, and the small bubbles end up on top of the big ones.
- Fewer bubbles. A few dozen is plenty. Past that, the chart turns into a pile.
The download does not print a name on each bubble. In the designer, pointing at a bubble shows its numbers, but a reader of the image can't do that, so name the bubbles that matter in your caption. To color bubbles by category, set a Group column under Chart columns.
Bubble chart, scatter plot or heatmap?
- Two numbers per row, and no third: the x y graph maker plots plain points.
- Hundreds of rows over two sets of categories: a heatmap shows the third number as color, and nothing overlaps.
Ask AI to set it up
Click Ask AI and type something like "size the bubbles by population and make them more see-through". The assistant changes the same settings you would by hand, so you can adjust anything afterward. It sees your column names and a small sample of the rows, not the whole file.






