A readable donut in Power BI: total in the center, tidy labels
Get started with Pie Plume: prepare a sales table, insert the donut, show the total in the center, arrange labels in columns and make a slice stand out.
Lire en françaisIn short
What is a pie chart? A circle cut into slices: each slice shows how much a category weighs in the total. A slice that takes a quarter of the circle is worth 25% of the total. The donut is the same circle with a hole in the middle: the eye compares arc lengths rather than angles, and the hole holds a key figure.
Mini example. A shop sells $100,000: $55,000 in store, $35,000 on the web, $10,000 by phone. The donut shows three slices of 55%, 35% and 10%, and "$100K" in the center.
- What the visual does. Pie Plume draws a donut, a full pie or a Nightingale rose, writes the total (or a measure, or your text) in the center, arranges labels in two columns linked to the slices by leader lines so they never overlap, sorts the slices, splits each slice by a second field and compares years in small multiples. In premium (★), it animates the slices from one year to the next, groups small slices into "Others", details a slice in a second chart, draws half donuts and compares with the previous period.
- When to use it. To show how a total is split into a few parts (2 to 8): revenue by channel, budget by item, customers by segment, answers to a question.
- When to prefer something else. Many categories to rank, or values to compare precisely: Bar Plume. A change over time: Line Plume.
- What you will be able to do. Prepare a table, create a measure, insert the visual, read the total in the center, set the labels, sort, split the slices with the Details field.
- What you need: Power BI Desktop, the Pie Plume visual installed (see the common basics), a table with a category and an amount. The PlumePieChart-Sample-EN sample report, in your "Downloads" area, shows the donut of regions, the pie of channels and the donut split by category (page 1), small multiples and the play axis (page 2) and the ★ features (page 3).
The data to provide
The shape. One row per sale (or per category already totaled): one column for the category (the future slice), one amount column. A second category column (product, segment) will be used to split the slices.
| Region | Channel | Category | Revenue |
|---|---|---|---|
| North West | Store | Lighting | 41,200 |
| North West | Web | Furniture | 38,600 |
| East Midlands | Store | Home linen | 12,400 |
| East Midlands | Web | Lighting | 9,800 |
| East of England | Phone | Furniture | 6,300 |
| East of England | Store | Decor | 21,900 |
| Scotland | Web | Storage | 5,100 |
| Scotland | Store | Furniture | 14,700 |
To try without a file: Modeling › New table, then paste:
Sales =
DATATABLE (
"Region", STRING, "Channel", STRING, "Category", STRING, "Revenue", DOUBLE,
{
{ "North West", "Store", "Lighting", 41200 },
{ "North West", "Web", "Furniture", 38600 },
{ "East Midlands", "Store", "Home linen", 12400 },
{ "East Midlands", "Web", "Lighting", 9800 },
{ "East of England", "Phone", "Furniture", 6300 },
{ "East of England", "Store", "Decor", 21900 },
{ "Scotland", "Web", "Storage", 5100 },
{ "Scotland", "Store", "Furniture", 14700 }
}
)
The measure. The Values well expects a measure (a calculation Power BI redoes for the current filters, written in DAX; see the glossary):
Total revenue = SUM ( Sales[Revenue] ) -- adds up the revenue of the rows of each slice
Pitfalls.
- Negative or zero values have no place in a circle: they are not drawn (a message says so in edit mode). For a balance, prefer Waterfall Plume.
- A numeric column dropped as is into Values is summed by Power BI: often what you want, but an explicit measure is safer.
- More than 8 slices become hard to read: sort them, or group the small ones into "Others" ★.
Step by step
- In the Visualizations pane, click the Pie Plume icon: an empty frame appears with "Add fields to get started".
- Drop
Sales[Region]into Legend (categories), then theTotal revenuemeasure into Values. A donut appears, sorted from the largest slice to the smallest, with the total in the center and the title "Total revenue by Region". - Hover a slice: the Power BI tooltip gives its name, value and share of the total. Click it: it pops out of the donut and filters the other visuals of the page. Click an empty area to reset everything.
- Open Format › Data labels › Content and choose Category, value and %: each label keeps its place in its column, with no overlap.
- In Format › Donut center › Caption under the value, type
2025 revenue, all regions: the text shows under the total. - In Format › Layout › Inner radius (% of radius), try 75 for a thin ring, then go back to 58. Choose Shape = Full pie to see the version without a hole, then go back to Donut (ring).
- Drop
Sales[Category]into Details (sub-category): each region is cut into sub-parts, in shades of its color. Hover a sub-part: the tooltip gives its share of the region. - Open Format › Sort › Slice order and choose Name (A → Z), then set Value descending back.
- Remove
Sales[Category]from Details and dropSales[Channel]into Legend instead of the region: the donut of channels shows at once.
Troubleshooting
| What you see | Likely cause | Fix |
|---|---|---|
| "No positive value to draw" | All values are empty, zero or negative | Check the measure in a Power BI card; a pie chart only shows positive slices |
| "2 negative or zero value(s) not drawn" in edit mode | Some categories have a negative or zero total | Expected: they have no place in the circle; filter them out or use Waterfall Plume |
| A small slice has no label | The label column is full: the smallest slices give up their place | Enlarge the visual, reduce Data labels › Size, or group small slices into "Others" ★ |
| Automatic title mixing languages ("Revenue 2025 par Region") | Power BI builds the automatic title in the language of Desktop with the names of your model | Normal in Power BI: type your own title in Title › Text (or use a measure with the fx button) |
| The center is empty | Shape = Full pie, or Donut center › Show is off | Choose Donut (ring) and turn the center on |
| The center total does not match the card next to it | A category has a negative value (not drawn, so not in the total) | The center adds up the drawn slices; use Value = “Center value” field for an exact measure |
| Colors change from one page to another | Categories do not arrive in the same order | Format › Data colors: set the color of each category |
| The legend does not show | It is hidden by default | Format › Legend › Show |
Key takeaways
- A category in Legend, a measure in Values: the donut, the center total and the labels are ready.
- Outside labels are arranged in columns: never overlapping text.
- Details splits every slice by a second field.
- Hovering a slice opens the tooltip; clicking pops it out and filters the page.
- ★ features work without a license, with a watermark.
Learn more: use cases · every field and setting · the common basics of Plume visuals · Pie Plume page · support