Using scatterplots with dynamic quadrants in Power BI

Using scatterplots with dynamic quadrants in Power BI

Want to get more out of the scatterplot visual in Power BI? In this article (and video), I’ll show you how to turn a standard scatterplot into an interactive visual with dynamic quadrants, transparent background colors, and even automatically placed quadrant labels.

Perfect for categorizing customers, products, or other data points into groups like Leaders, Challengers, or Visionaries, based on multiple measures at once.

✔️ Fully dynamic

✔️ Works with filters and slicers

✔️ No custom visuals needed

With a bit of clever DAX and some creative formatting, you can do a lot more with the default Power BI scatterplot than you might think!

The scatterplot

A scatterplot shows two measures on its axes. In this case, I chose Turnover on the Y-axis and Average Product Price on the X-axis. Scatterplots are often used to identify outliers or, like we’re doing here, to see which customers fall into which quadrant.

There’s also a third dimension: bubble size. I used Quantity of products bought. You don’t have to add labels, but in our case, even though it’s a bit crowded, users requested to keep them for easier identification.

In the tooltip you see the company name, the average product price, that's the average of all items bought by that customer, and the quantity.

Scatterplot

Making it readable

Because many bubbles overlap, I made them transparent to help visualize the clusters.

💡 The Y-axis uses a logarithmic scale. Make sure your end-users understand this kind of scale. If not, consider using a linear scale instead.

To help focus, we also added an active zoom slicer on the Y-axis.

3 colors for 4 zones

The final scatterplot seems to have 4 colors but there are actually only 3 colors used. The left side of the scatterplot is red, the right side yellow. On top, there is blue.

Where these colors overlap, new colors are created:

  • Blue + Yellow = green

  • Blue + Red = purple-ish blue

This effect is achieved by using two vertical reference lines (to separate red and yellow), and one horizontal (for the blue section).

3 colors, 4 quadrants

Adding the quadrants

You need:

  • 2 vertical reference lines (same value, to allow both red and yellow)

  • 1 horizontal reference line (for the blue zone)

Hardcoding values works, but it breaks when filters are applied. So instead, we use conditional values with the fx button.

For the horizontal line, we need to calculate the average turnover of all customers in the visual:

For the vertical lines you need 1 and the same measure, I used:

Now, when the visual is filtered, the quadrants adjust dynamically.

I still add the actual lines, but make them 100% transparent. For me, the colored backgrounds are enough to define the borders.

Coloring the quadrants

The colored backgrounds are also set in the reference line formatting options. Initially, the colors are bright, but I added 85% transparency to let them blend.

  • Blue (horizontal line): position = After

  • Orange (first vertical): position = After

  • Red (second vertical): position = Before

Finally, add slicers and other visuals to help your users analyze the scatterplot data in more detail.

Dynamic quadrants

Adding the quadrant names

To finish it off, you can also add quadrant names to your scatterplot, like Challengers, Leaders, Nice Players, and Visionaries.

This doesn’t work out of the box, and unfortunately you can’t change the font size ( PBI Core Visuals , Miguel Myers ) but, it’s better than nothing!

We go back to the reference line section and add four new lines, all X-axis constant lines, and all dynamic, so they stay in place while filtering.

We’ll reuse the same measure from the vertical reference lines earlier, but slightly adjust the values to give each label some space from the vertical border.

Just like before, make the lines themselves 100% transparent. Then, go to the data label settings and position the quadrant names as follows:

  • Top left quadrantleft up

  • Top right quadrantright up

  • Bottom left quadrantleft down

  • Bottom right quadrantright down

And that’s it — the quadrant names move along dynamically with your filters!

Quadrant names move together with the quadrants

Coloring the bubbles and quadrant names

To make the scatterplot even more intuitive, I wanted the bubbles to change color depending on the quadrant they are in:

  • Top left → Blue

  • Top right → Green

  • Bottom left → Red

  • Bottom right → Yellow

The measure below calculates the color for each bubble. It uses the same logic as the reference lines, but keeps the split points constant for all data points by using .

For color-blind accessibility, I’ve added grey quadrant lines in the background. Even if someone cannot distinguish the colors, they can still see exactly in which quadrant each bubble is located.

To make the visual even clearer, I also colored the quadrant names in the same color as the bubbles in that section. This way, users can quickly connect the label with the data points, whether they look at the chart as a whole or focus on a specific area.

Wrapping it up

This scatterplot turned out to be a powerful visual, not just for spotting outliers, but for comparing customers based on multiple dimensions at once. With dynamic quadrants and subtle background colors, it becomes much easier to tell the story behind the numbers.

It's much easier then I thought, so give it a try!!

References

Bas Dohmen: Quadrant Charts in Power BI - But Smarter. Cleaner. Next Level. https://youtu.be/rrhzaUpIAXc?si=EGW16SbdEh4jZ-li

Link to my video: https://youtu.be/8YJW-K5m3cw

Marjolein Opsteegh

I help you build user-friendly Power BI dashboards | Speaker | Microsoft MVP

1w
Marjolein Opsteegh

I help you build user-friendly Power BI dashboards | Speaker | Microsoft MVP

1w

To view or add a comment, sign in

Others also viewed

Explore topics