Skip to content
Plume Visuals
← Back
Getting startedBeginner9 min read· Published on October 4, 2026

Power BI scatter chart: sort your items into four families

Get started with Scatter Plume: prepare your data, build a bubble chart, label the useful points, split the cloud into quadrants and animate it over time.

Lire en français

In short

What the visual does. Scatter Plume places each item (a product, a customer, a city) as a point on a two-dimensional map: the further right, the higher its first measure; the higher up, the higher its second one. A third measure can inflate each point into a bubble. You see at a glance which items are alike, which stand out and how the two measures are related.

When to use it:

  • compare volume and profitability (orders and margin rate per product);
  • sort items into four families with quadrants (drivers, niches, to review…);
  • check whether two measures move together (trend and R²);
  • find outliers;
  • show how each item moves from one year or month to the next (play axis).

When to use something else:

  • to compare one measure across categories, a bar chart reads better (Bar Plume);
  • to follow one measure over time, use a line chart (Line Plume); Scatter Plume shows time differently: the play axis moves the points from one date to the next.

What you will be able to do:

  • prepare a "one point per value" column and two or three measures;
  • build a scatter chart, then a bubble chart colored by category;
  • label the useful points without cluttering the chart;
  • split the cloud into four named quadrants and add a trend;
  • select a group of points to filter the report;
  • animate the cloud over time with the play axis.

What you need:

  • a recent Power BI Desktop;
  • the Scatter Plume visual installed (see Getting started with Plume visuals, "Installing a Plume visual");
  • a column that identifies each item (product, customer…) and two numeric measures.

The data to provide

The expected shape

Scatter Plume draws one point per value of the column placed in Details (one point each). For each point it computes two measures (DAX formulas that return a number, see the glossary): one gives the horizontal position (X axis), the other the vertical position (Y axis).

  • What identifies a point (product, customer, store) is a text column.
  • What places it (orders, margin rate, revenue) is a measure.
  • Your table can have one row per order or one row per product: Power BI aggregates for each point.
  • A rate (margin rate, conversion rate) must be a measure that divides two sums, never a sum of rates.

The sample dataset

A home goods retailer (fictitious data): one row per product, with its number of orders, its revenue and its margin.

ProductCategoryOrdersAmountMargin
Linen sofaFurniture412366680124671
Cedar candleDecor11052431014829
Oak tableFurniture236283200110448
Wool throwTextiles7804680024336
Brass lampDecor3184770021465
Bedding setTextiles6407680032256
Rattan armchairFurniture1546160017248
Stoneware vaseDecor9053167518372
Velvet cushionTextiles12403720017112
Wall shelfFurniture5204680012636

To create it without a file: Modeling › New table, paste the formula below, then confirm.

Products =
DATATABLE (
    "Product", STRING,
    "Category", STRING,
    "Orders", INTEGER,
    "Amount", INTEGER,
    "Margin", INTEGER,
    {
        { "Linen sofa", "Furniture", 412, 366680, 124671 },
        { "Cedar candle", "Decor", 1105, 24310, 14829 },
        { "Oak table", "Furniture", 236, 283200, 110448 },
        { "Wool throw", "Textiles", 780, 46800, 24336 },
        { "Brass lamp", "Decor", 318, 47700, 21465 },
        { "Bedding set", "Textiles", 640, 76800, 32256 },
        { "Rattan armchair", "Furniture", 154, 61600, 17248 },
        { "Stoneware vase", "Decor", 905, 31675, 18372 },
        { "Velvet cushion", "Textiles", 1240, 37200, 17112 },
        { "Wall shelf", "Furniture", 520, 46800, 12636 }
    }
)

The measures to create

Select the Products table, then Modeling › New measure. Create one measure at a time.

// Number of orders: adds up the Orders column
// of the rows visible for the point (here, a product)
Orders = SUM ( Products[Orders] )

// Revenue: adds up the Amount column
Revenue = SUM ( Products[Amount] )

// Gross margin in dollars
Gross margin = SUM ( Products[Margin] )

// Margin rate: the margin divided by revenue
// DIVIDE returns blank instead of an error when revenue is zero
Margin rate = DIVIDE ( [Gross margin], [Revenue] )

Give Margin rate the Percentage format: select the measure, then Measure tools › Format: Percentage. Axes, labels and tooltips use the format of each measure.

With a real sales table (one row per order), replace Orders with COUNTROWS ( Sales ): the number of rows of the table.

Preparation pitfalls

  • A summed rate: dragging a rate column into Y axis creates an automatic sum of rates, which makes no sense. Create the Margin rate measure.
  • A blank X or Y value: the point is not drawn.
  • Zero or negative values on a Logarithmic axis: these points are left out.
  • The same product drawn several times: it belongs to several values of the Legend (for example Legend = Channel: one point for the web, one for the store).
  • A date in the play axis: drag the date column itself (right-click the field › choose the column name, not the Date Hierarchy), or a Month or Year column. A date hierarchy only keeps its first level.

Step by step: your first Scatter Plume in 10 minutes

Goal: a bubble chart of products, volume on X, margin rate on Y, revenue as size, one color per category, the largest products labeled.

  1. On the report page, click the Scatter Plume icon in the Visualizations pane. A frame appears with the visual's landing page.

  2. Drag the Product column into Details (one point each). Each product will become a point.

  3. Drag the Orders measure into X axis.

  4. Drag the Margin rate measure into Y axis. Ten points appear: high volumes on the right, high margins at the top.

  5. Drag the Category column into Legend (series). Points take one color per category (Furniture, Decor, Textiles) and a legend appears at the top.

  6. Drag the Revenue measure into Size. Points become bubbles: their area follows revenue. The sofa and the table, with high revenue, are the largest.

  7. In the Format pane, Points card: Opacity (%) = 60. Overlapping bubbles stay visible.

  8. Data labels card: turn on Show. The names of the N largest points appear (Labeled points = Largest (N), N = 10 by default).

  9. In the same card, N = 5. Only the five largest points keep their name.

  10. X axis card: turn on Axis title. Do the same in the Y axis card. Readers know what each axis measures.

Result: a bubble chart that shows at a glance that small decor and textile items often sell with a high margin, and that furniture brings revenue with a lower margin. Drag the mouse over a group of points: they are selected and filter the rest of the page.

Troubleshooting

What you seeLikely causeSolution
A single pointDetails (one point each) is empty: one point per seriesDrag the item column into Details (one point each)
Points are missingBlank X or Y value, or zero or negative value on a Logarithmic axisCheck the measures; switch the axis back to Linear
The same product appears several timesIt belongs to several values of the LegendChoose a legend with one value per product, or remove it
The fixed quadrant value cuts nothingThe value is not in the unit of the measureType 0.45 for 45%, not 45
The quadrant average looks wrongIt is computed on the displayed points, each counting once, and follows filtersUse Fixed value for a business threshold
The tinted quadrant is not the winners' oneThe tint follows the on-screen position; an axis is invertedTurn off Invert axis, or rename the quadrants
Points do not fade when clicking another visualScatter Plume is filtered by other visuals, it does not draw partial highlightingNormal behavior: points outside the selection disappear
Margin rate shows as 0.43The measure does not have the Percentage formatMeasure tools › Format: Percentage
The "Plume Visuals · Premium preview" watermark appearsA ★ feature is on without a key (quadrants, gradient, analytics, small multiples, highlight, density, marginals, ★ style…)Remove the ★ feature or paste your key (see Getting started with Plume visuals)
The play axis shows only one frame or mixed-up yearsA Date Hierarchy was dragged, or the column is badly sorted textDrag the date column itself; sort the month column by a number (Sort by column)
Identical points hide each otherSeveral items have exactly the same X and YPoints › Jitter overlapping points (px) = 4 to 8 px
Arrow keys no longer go through the pointsMore than 5,000 points: they are drawn in one blockFilter the page, or select with a rectangle
The play bar shows "04/01/2025" instead of the monthThe date column has a short date formatGive it the mmm yyyy format (Column tools › Format): "Apr 2025"
The point shows no image and a message mentions base64 (edit mode)The Image ★ measure returns a web address, which is never loadedConvert the image to base64 (Power Query Binary.ToText) and return data:image/png;base64,…
"Loading data…" then a warningMore than 100,000 rows: only the first 100,000 are readFilter the page or use a less detailed Details field

Key takeaways

  • Details gives one point per value, X axis and Y axis place it, Size makes it a bubble, Legend colors it.
  • A rate is computed in a measure (DIVIDE), never by summing a rate column.
  • Quadrants ★ sort points into four families, at the average, the median or a fixed threshold in the unit of the measure.
  • Label only the useful points: Largest (N), Selected, or the Label (text) field.
  • Draw a rectangle (or a lasso) to select a group of points and filter the report; Shift + drag to zoom.
  • A date in Play axis animates the cloud; click a bubble to follow its trail. The column format decides how dates are written.
  • The Image ★ field accepts only base64 images: never a web address.

Learn more