Skip to content
Statistics Medium #bubble#scatter#three-variable

Bubble Chart

Scatter plot with a third variable encoded as bubble size.

A free, animated bubble chart you can read here or embed on any website, from Scrollchart.

Bubble Chart

Bubble Chart0204059799901939587797GDP per capitaLife expectancyABCDEFGHIJ

A bubble chart is a scatter plot extended to three variables. The horizontal axis encodes one numeric variable, the vertical axis encodes a second, and the radius of each circle (bubble) encodes a third. All three values must be read together to understand any single data point.\n\nThe convention of sizing bubbles by the square root of the third variable ensures that area, which the eye perceives, grows proportionally to the value rather than quadratically.

Good for

  • Articles in the statistics category
  • Editorial pages where a quick visual replaces a wall of text
  • Content-marketing posts that need a clean, branded illustration

Source & accuracy

This bubble chart is an editorial illustration built to represent the concept accurately. Where it shows figures, they are typical or representative values chosen to make the relationship clear, not a single underlying dataset. The diagram and its explainer are reviewed and maintained centrally, and updated over time as understanding improves.

Three dimensions encoded in scatter position and size

A bubble chart extends a scatter plot by encoding a third variable as bubble size. The x-axis and y-axis show two continuous variables; each point's position captures that pair; the bubble's diameter or area encodes a third variable. This lets you visualize three dimensions simultaneously. Bubble charts are used to compare countries (GDP vs life expectancy, sized by population), products (price vs customer rating, sized by sales volume), or any phenomenon with three quantitative attributes.

Reading bubble charts and avoiding false patterns

The size axis is challenging: our eyes misjudge bubble area, making a 2x area difference look smaller than it is. Color-coding bubbles by a fourth categorical variable (e.g., region) helps, but adding too many encodings creates visual clutter. Bubble charts work best when the size dimension is a multiplicative factor that merits its own axis (e.g., market capitalization) rather than a secondary annotation. When in doubt, a small multiples or faceted scatter plot (separate plots for subgroups) may be clearer.

Embed this diagram

Add this animated bubble chart to your own site. Copy one line of HTML, or use the embed builder for theme and sizing options.

Reference

What this is
A free, embeddable, animated bubble chart for any website.
Who uses it
Data journalists, Researchers & academics, Content marketers, News organizations.
How to embed
Copy one line of HTML. No signup. No watermark. Works in WordPress, Webflow, Ghost, Substack, plain HTML.
File size
iframe embed, ~80 KB gzipped (loads on demand, does not block your page paint).
License
Free forever. Editorial explainer text included; updated centrally over time.

Embed format options

Copy the universal HTML snippet, the WordPress shortcode, or an iframe fallback - see the WordPress plugin page for details. Any format keeps the same Core Web Vitals profile and the same explainer text.

Embed snippet
<div data-scrollchart="bubble-chart" data-scrollchart-v="1"></div>
<script src="https://scrollchart.com/embed.js" async></script>

Frequently asked questions

Where can I get a free animated "Bubble Chart" for my website?
Scrollchart provides "Bubble Chart" as a free, embeddable animated diagram you can add to any website with one line of HTML. No signup is required and there is no watermark. The diagram and its explainer text are served from scrollchart.com, so the embed stays current without any maintenance on your end.
How do I embed a bubble chart in a blog post or article?
Paste the one-line HTML snippet from the Scrollchart diagram page into your post editor. It works in WordPress, Webflow, Ghost, and plain HTML with no plugin required. The animated diagram and its explainer text load from scrollchart.com and render directly in your page DOM.