Bubble Chart: What It Is, When to Use It, and How to Read It

What a bubble chart shows, when three variables justify using one, how to read position and size correctly, and the common pitfalls that mislead readers.

Overview

A bubble chart is a scatter-style chart that shows three variables at once: each bubble’s horizontal position encodes one numeric value, its vertical position encodes a second, and its size encodes a third. Use one when the relationship between two variables matters and a third magnitude adds real context — otherwise a simpler chart is usually clearer.

That definition is consistent across visualization references: Workiva describes a bubble chart as “a scatter chart with the addition of size data for the points depicted,” and Macrobond calls it a graph type that “displays three dimensions of data.” You may also see the terms bubble plot or bubble graph used interchangeably.

This article explains how the encoding works, when a bubble chart is the right choice, how to prepare the data, how to read one responsibly, and where the chart type most often misleads readers. The goal is a defensible chart decision, not a decorative one.

How a bubble chart works

Each bubble on the chart represents a single item — a product, a country, a project, a research subject. The item’s two most important numeric values determine where the bubble sits on the x- and y-axes, exactly as in a scatter plot. A third numeric value determines how large the bubble is drawn, which is why Metabase describes a bubble chart as “basically a scatterplot where each plot has put on some weight.”

Because position and size are read together, a bubble chart answers two questions simultaneously: where does each item fall in the relationship between the two axis variables, and how big is each item on the third measure. That combination is the chart’s whole value proposition — and also the source of most of its readability problems, covered later in this article.

The three required values

At minimum, every bubble needs an x-value, a y-value, and a size value, plus a label or identifier so readers know what each bubble represents. Workiva’s documentation lists exactly these four components — point label, X-axis position, Y-axis position, and point size — and Domo’s chart reference similarly requires three columns or rows of data from the dataset.

A quick concrete example makes the structure obvious. Suppose you are comparing five products:

This is easiest to picture as four columns in a spreadsheet: Product name (label), Average rating (x), Price (y), Units sold (size). Metabase uses a close variant of this exact setup, plotting product rating against price with bubble size carrying the third variable. If any of those three numeric columns is missing or non-numeric, the chart cannot be drawn correctly.

Optional color, labels, and grouping

Color can carry a fourth dimension — typically a category such as region, team, or experimental group. Metabase notes that bubble charts can use color to display an additional dimension, and in practice a small number of color groups (roughly three to five distinct categories) helps readers segment the chart without studying a legend.

Every added encoding raises the reading cost, though. A chart carrying position, size, color, and dense labels asks viewers to decode four channels at once, and audiences unfamiliar with the chart type will usually latch onto only one or two. Treat color and direct labels as optional enhancements to apply sparingly, not defaults.

When to use a bubble chart

A bubble chart earns its complexity when three conditions hold: both axis variables are numeric and meaningful, the third variable genuinely changes the interpretation, and the audience needs patterns rather than exact values. Atlassian’s chart guide frames the chart as an extension of the scatter plot “used to look at relationships between three numeric variables” — relationship discovery is the core job.

The chart is especially good at revealing clusters, outliers, and quadrant-style segmentation, where the x-y plane divides items into strategic groups and size shows which items in each quadrant matter most. If you find yourself planning to read exact size values off the chart, that is a signal you want a different chart type.

Good use cases

Bubble charts fit analytical questions where position tells the story and size adds weight. Common patterns include:

  • Market share vs. growth, with revenue as bubble size — the classic portfolio quadrant view.
  • Risk likelihood vs. impact, with exposure or cost as size, for prioritization discussions.
  • Product analytics, such as rating vs. price with sales volume as size, as in Metabase’s example.
  • Operations monitoring, comparing two performance metrics across sites with workload as size.
  • Research dataset exploration, scanning subjects or samples for clusters and outliers across three measures.

In each case, the reader’s first question is “which items sit where,” and size answers the follow-up “and how much does each one matter.” When your question matches that shape, the bubble chart is a strong candidate.

Weak use cases

Bubble charts are a poor fit when the reader needs exact comparison or ranking, because people judge circle areas far less accurately than bar lengths. They also struggle when many points overlap, when most bubbles are similar in size (the third encoding then adds noise, not signal), and when the size variable contains values that break the encoding — Metabase advises that if the size values include zero or negative numbers, “bubble charts are probably not a good choice.”

Audience matters as much as data. If the chart will be published to a general readership in a static report with no tooltips, unlabeled overlapping bubbles become guesswork. In those situations, a labeled scatter plot, a bar chart, or a supporting data table serves readers better.

Should you use a bubble chart?

The fastest way to decide is to match your task and data shape against the alternatives. The matrix below compares the bubble chart with its five closest neighbors on best use, required data, and the main limitation to watch for.

Chart type Best for Data needed Main limitation
Bubble chart Relationships between two variables plus a third magnitude; clusters, outliers, quadrants Label + two numeric axis values + numeric size value Size differences are read imprecisely; overlap gets severe
Scatter plot Relationships between exactly two numeric variables Label + two numeric values No third dimension without adding encodings
Bar chart Exact comparison and ranking of one value across categories Category + one numeric value Shows only one measure per bar; no relationship view
Heat map Patterns across two categorical dimensions via color intensity Two category fields + one numeric value Color intensity is hard to read precisely
Packed bubble chart Rough size comparison across categories, no axes Category + one numeric size value No positional meaning; imprecise by design
Bubble map Magnitudes placed on geography Location + numeric size value Geographic position replaces value axes; dense regions overlap

Read the matrix as a filter, not a verdict. If your third variable is essential and your audience can tolerate approximate size judgments, the bubble chart survives the filter; if exact values or rankings are the goal, it usually does not.

Bubble chart vs scatter plot, bar chart, and packed bubble chart

The decision matrix compresses the trade-offs; this section explains the reasoning behind the four comparisons readers ask about most. The recurring theme: simpler charts win whenever the third variable is not essential to the question being answered.

Bubble chart vs scatter plot

A bubble chart is a scatter plot plus a size encoding — Atlassian describes it as extending scatter plots “by allowing point size to indicate the value of a third variable.” Choose the bubble chart only when that third variable materially changes what the reader should conclude. If two variables answer the question, the scatter plot is cleaner: uniform point sizes reduce overlap, and readers are not tempted to interpret size differences that carry no meaning.

Bubble chart vs bar chart

Bar charts encode values as lengths along a common baseline, which viewers compare far more accurately than circle areas. If the deliverable is “which items are biggest, in order,” a bar chart of the size variable communicates it precisely, where a bubble chart only gestures at it. A practical pattern is to pair them: use the bubble chart to show the relationship landscape, and a bar chart or table when exact figures need to be quoted.

Bubble chart vs packed bubble chart

A packed bubble chart clusters circles together without meaningful x- or y-axes — only size (and often color) carries data. That makes it a size-and-category display, not a relationship chart. It can work as an approachable overview of relative magnitudes, but it discards the positional encoding that makes a standard bubble chart analytically useful. If your axes mean something, do not trade them away for packing.

Bubble chart vs bubble map

A bubble map places proportionally sized bubbles on geography, so location replaces the two value axes. Use it when where is the primary dimension — cases per city, sales per region. Use a standard bubble chart when the primary dimensions are numeric measures and geography is, at most, a color grouping. The two answer different questions and are not interchangeable.

How to prepare data for a bubble chart

Good bubble charts start in the dataset, not the charting tool. Preparing a clean, well-typed layout works the same whether you then build the chart in Excel — where Microsoft’s guidance describes bubble size as adding “a third data dimension” to a scatter-style chart — in a BI tool, or in a dataset publishing workflow.

If you want to sanity-check the data before committing to a chart, a lightweight route is to load it into a shared explorable view first. With TablePage, you can drag and drop CSV, TSV, XLSX, or XLS files, instantly generate a public dataset page, and let anyone explore charts, insights, and a filterable table with no signup needed — useful for spotting missing values and outliers in the size column before you design the final visual.

Minimum field layout

Structure the source data as one row per bubble with these columns:

  • Label — the item name or identifier readers will see or hover on.
  • X-value — numeric; the horizontal-axis measure.
  • Y-value — numeric; the vertical-axis measure.
  • Size value — numeric and non-negative; the third measure encoded as bubble size.
  • Group / color (optional) — a category field with few distinct values.
  • Annotation (optional) — a note field for callouts on key bubbles.

This tool-agnostic layout maps directly onto what charting tools expect — Domo, for example, requires exactly three columns or rows of data for the chart’s numeric encodings. Keeping the label and optional fields alongside them means you never rebuild the dataset when you switch tools.

Data checks before charting

Before rendering anything, verify the size column. Confirm all three numeric columns use consistent units, and document what the size value measures — a bubble chart misleads quickly if size is not directly comparable across every point. Check for zeros and negatives in the size field, since zero or negative size values make bubble charts a poor choice; either exclude those rows with a note, or choose a different size variable.

Then scan for missing values and extremes. Rows missing any of the three values should be removed or flagged, not silently dropped by the tool. If one item’s size value is orders of magnitude larger than the rest, decide deliberately how to handle it — annotate it, filter it into its own view, or reconsider the encoding — rather than letting one giant bubble swallow the chart.

How to read a bubble chart

Read a bubble chart as three related signals, not three precise measurements. Position on the two axes carries the relationship; size carries approximate magnitude. Treating any of them — especially size — as an exact readout overstates what the chart can support.

A useful habit when presenting: narrate one bubble end-to-end (“this point is high on retention, low on cost, and mid-sized on revenue”) before discussing patterns. It teaches the audience the encoding in one sentence and prevents the most common misreading, where viewers interpret size as importance rather than as the specific third variable.

Read position before size

Start with where bubbles sit, because the x-y plane usually holds the analytical story: correlations, clusters, quadrants, and outliers. Only after the positional pattern is clear should you layer in size, asking which items in each region are large or small on the third measure. Size refines the story; it rarely is the story. If size were the main point, a bar chart of that variable would communicate it better.

Use legends and labels carefully

Legends should explain both the color groups and, ideally, what bubble size represents with one or two reference sizes. In static reports, direct labels on the most important bubbles beat a dense legend, and a short annotation on the key outlier does more interpretive work than any styling choice. In interactive dashboards, tooltips can identify overlapping or unlabeled bubbles — but do not rely on them for charts that will be exported to slides or PDFs, where the interaction disappears.

Bubble size scaling can mislead readers

The single biggest accuracy risk in a bubble chart is how values map to circle size. Because a circle’s area grows with the square of its radius, small choices in scaling produce large differences in what readers perceive — and viewers already judge areas less accurately than lengths or positions. This is why sources like Storytelling with Data treat the bubble chart as a type to use deliberately, with attention to how it will actually be read.

Whatever scaling your tool applies, state in the legend or caption what size represents. A chart where readers cannot tell whether a twice-as-wide bubble means twice the value or four times the value is quietly failing, even if it looks polished.

Area, radius, and diameter

A short numeric example shows the problem. Take two values, 10 and 20 — the second is twice the first. If a chart scales the radius to the value, the second bubble’s radius doubles, but its area becomes four times larger (area scales with radius squared: 2² = 4). A reader judging by visual area now perceives a 4× difference where the data contains a 2× difference. Scaling area to the value keeps the perceived ratio honest, which is why careless radius- or diameter-based sizing is a classic way charts exaggerate. Tools differ in how they implement sizing, so check your tool’s behavior rather than assuming — and never trust a size comparison you have not verified against the underlying numbers.

Extreme values and tiny bubbles

Outliers distort the whole display: one enormous size value forces every other bubble toward the minimum drawable size, flattening real differences among the rest. At the other end, very small values can render as bubbles too tiny to see, hover on, or distinguish from each other — effectively deleting those data points visually. When either happens, consider filtering the extreme into its own annotated view, enforcing a sensible minimum bubble size with a note, or choosing a less skewed variable for the size encoding.

Common bubble chart mistakes and fixes

Most failed bubble charts fail the same handful of ways: too many bubbles, overlapping bubbles, unclear legends, inconsistent units in the size column, decorative 3D effects that distort area perception, and size values the encoding cannot represent. Each has a specific fix, and diagnosing which failure you have is usually quick — put the draft chart in front of someone unfamiliar with the data and ask them to describe one bubble.

The subsections below cover the three failure modes that come up most often in practice. If a chart exhibits several at once, that itself is a diagnosis: the dataset probably wants a different chart type, or a filtered subset.

Overlapping bubbles

Overlap is the bubble chart’s dominant failure mode, and it compounds as bubbles grow. Fixes, roughly in order of effort: reduce the maximum bubble size; add transparency so stacked bubbles remain visible; filter to the subset of points the audience actually needs; split one crowded chart into small groups; annotate only the key bubbles instead of labeling everything. If the chart is interactive, tooltips let readers disambiguate dense regions — but for a static export, persistent overlap is a strong signal to switch to a scatter plot with uniform points or a table.

Zero, negative, and missing size values

Size encodes magnitude, and a circle cannot meaningfully have zero or negative area — which is why Metabase flags zero and negative size values as a reason to avoid the chart type entirely. If only a few rows are affected, exclude them and say so in a caption; hiding the exclusion damages trust more than the missing points would. If negatives are central to the analysis (profit and loss, gains and declines), move that variable to an axis where direction can be shown honestly, and pick a strictly non-negative measure for size. Missing size values should be treated the same way: documented, not silently dropped.

Too much color or too many labels

Color earns its place only when the categories are few and the grouping answers a real question. Beyond a handful of hues, the legend becomes a lookup exercise and colorblind readers lose the chart entirely. The same discipline applies to labels: labeling every bubble in a dense chart produces an unreadable thicket, while labeling the five bubbles the narrative depends on guides the reader precisely. Default to minimal color, direct labels on key points only, and one annotation for the main takeaway.

Worked example: choosing and explaining a bubble chart

Consider a product team reviewing eight features for next quarter. For each feature they have three numbers: adoption rate (percent of users who use it), support cost per month, and active user count. The question is where to invest — a relationship question with a magnitude attached, which is exactly the bubble chart’s shape.

The decision logic runs in order. First, are both axis variables numeric and meaningful? Yes: adoption on x, support cost on y. Second, does the third variable change the interpretation? Yes: a high-cost, low-adoption feature matters far more if 80,000 people use it than if 300 do. Third, does the audience need exact values? No — they need to see which quadrant each feature falls in. Fourth, is the size column clean? All user counts are positive, with no missing rows. The bubble chart passes; had the team instead needed a ranked list of support costs, a bar chart would have won at step three.

Example field layout

The chart-ready dataset is one row per feature:

  • Label: feature name (e.g., “Bulk export”)
  • X-value: adoption rate, in percent
  • Y-value: monthly support cost, in one consistent currency
  • Size value: active users (positive integers)
  • Group (optional): product area, limited to three categories

Before charting, the team publishes the sheet as a shared page — for instance by uploading the XLSX to TablePage, which generates a public dataset page with charts and a filterable table that stakeholders can explore without signing up. Filtering the table quickly confirms no zero or negative user counts and no unit inconsistencies in the cost column.

Example interpretation

Reading the finished chart, the honest narration sounds like this: “Most features cluster in the low-cost, mid-adoption region. One large bubble sits in the high-cost, low-adoption quadrant — that’s our biggest user base paying the highest support price, so it’s the investment priority. Two small bubbles in the same quadrant are candidates for retirement instead.” Notice what the narration avoids: it never quotes exact user counts from bubble sizes, and it distinguishes between a large costly feature (fix it) and small costly ones (question them). When someone asks for precise figures, the answer is the accompanying table, not a squint at circle areas.

Accessibility and publishing checks

A bubble chart that works in an interactive session can fail badly once published, so run a final review against the destination format — static report, dashboard, or shareable page. Position, size, and especially color must not be the only path to the message: colorblind readers, screen-reader users, and anyone viewing a small mobile render need alternatives.

A practical pre-publish checklist:

  • Axis titles and units are explicit on both axes.
  • The legend states what bubble size represents, not just what colors mean.
  • Key bubbles are directly labeled or annotated; the chart’s takeaway survives with color removed.
  • A one-to-two sentence text summary accompanies the chart for readers who cannot parse it visually.
  • Outliers and any excluded rows (zeros, negatives, missing values) are documented in a caption.
  • An exact-value fallback exists — a table or bar chart — wherever readers may need precise numbers.

Publishing the underlying data alongside the visual is the strongest fallback of all. A shared dataset page with a filterable table — the pattern TablePage’s example dataset pages use, where anyone can explore charts and the full table without an account — lets readers verify any bubble against its actual values instead of trusting area perception.

Bubble chart FAQ

When should you use a bubble chart instead of a scatter plot? When a third numeric variable genuinely changes the interpretation of the two-variable relationship. If two variables answer the question, use the scatter plot — it overlaps less and invites no false size comparisons.

What data columns do you need to create a bubble chart? A label plus three numeric columns: x-value, y-value, and a non-negative size value. An optional category column can drive color. This matches the four components — label, X position, Y position, and point size — that Workiva documents.

How do you choose the right bubble size scale? Prefer scaling that keeps perceived area proportional to the value, verify how your tool actually sizes bubbles, and state the scaling in the legend. A radius-doubled bubble has four times the area, so unexamined scaling exaggerates differences.

Can a bubble chart show zero or negative values? On the axes, yes. As bubble sizes, no — zero or negative size values make the chart type a poor choice. Exclude and document those rows, or encode that variable on an axis instead.

Are bubble charts good for exact comparisons? No. Readers judge areas imprecisely, so use a bar chart or table when exact values or rankings matter, and keep the bubble chart for pattern-level insight.

What is the difference between a bubble chart and a packed bubble chart? A bubble chart has meaningful value axes; a packed bubble chart discards axes and shows only size and category, making it an approximate magnitude display rather than a relationship chart.

What is the difference between a bubble chart and a bubble map? A bubble map places sized bubbles on geography, so location replaces the value axes. A standard bubble chart plots against two numeric measures.

What are the most common bubble chart mistakes? Overlapping or overcrowded bubbles, unexplained size scaling, zero or negative size values, inconsistent units, too many colors, missing labels, and 3D effects that distort area perception.

How do you fix overlapping bubbles? Shrink the maximum bubble size, add transparency, filter or facet the data, annotate selectively, or switch to a scatter plot when overlap persists in static output.

How do color and labels add more information? Color can encode one extra categorical dimension, and direct labels identify the bubbles the narrative depends on. Both improve the chart only in moderation — a few categories, a few labels.

What are the best alternatives when readability is poor? A scatter plot (drop the size encoding), a bar chart (exact comparison of the size variable), a heat map (two categorical dimensions), or a filterable table published alongside the chart for verification.

How do you explain a bubble chart to a non-technical audience? Narrate one bubble end-to-end — its x meaning, y meaning, and what its size represents — then describe the overall pattern in quadrant or cluster terms. Never ask the audience to read exact numbers from bubble sizes; point them to the table instead.

Drop to create a new dataset CSV, TSV, or Excel
Uploading...

Upload your own dataset

Explore any CSV with AI insights, charts & filters. Free, no account needed.