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

Heatmap in Power BI: grid, calendar and hours of the day

Get started with Heatmap Plume: prepare the data, insert the visual, read the colors, write values in the cells, filter by clicking and switch to the calendar.

Lire en français

In short

What is a heatmap? A table whose cells are colored by their value: light for small values, dark for large ones. Instead of reading the numbers one by one, you see the peaks, the lows and the seasons at a glance.

A tiny example. The Drinks department makes $120K in March and $280K in August: the March cell is light, the August cell is dark. Eight departments over twelve months, 96 cells, read in a few seconds.

  • What the visual does. Heatmap Plume draws three heatmaps: a grid (one row per department, one column per month), a calendar (one day per cell, over one or several years) and a day of week × hour grid computed from a date-time. It writes the values in the cells, colors them with a gradient or classes and sorts. Premium (★): play axis (animation over time), advanced scales (diverging, quantiles, thresholds, square root, logarithmic, per row), percentages and margin totals, similarity clustering, public holidays, annotations, radial heatmap, comparison with a reference and small multiples.
  • When to use it. Two crossed dimensions (product × month, region × week), an activity day after day (sales, visits, incidents), peak hours.
  • When to prefer something else. A trend over time for a few series: Line Plume. A ranking: Bar Plume. A table that must stay readable number by number: Matrix Plume.
  • What you will learn. Prepare a table, insert the visual, read and set the colors, write values in the cells, filter the page by clicking, switch to the calendar.
  • What you need: Power BI Desktop, the Heatmap Plume visual installed (see the Plume basics), a table with two category columns and a value. The sample report PlumeHeatmap-Sample-EN, in your "Downloads" space, shows the revenue of 8 departments and a visits calendar (page 1), peak hours, temperatures by year and month and a department ranking (page 2), and the ★ features, including the play axis (page 3).

The data to provide

The shape. One row per cell: the heatmap row (the department), the column (the month) and the value (the revenue). The first two are category columns, the value is a measure.

DepartmentMonthRevenue
DrinksJan228,000
DrinksFeb205,000
DrinksAug284,000
DairyJan44,000
DairyFeb48,000
DairyAug89,000
Health and beautyJan264,000
Health and beautyFeb255,000
Health and beautyAug137,000

To try it without your own data, create this table in Modeling › New table:

Sales =
DATATABLE (
    "Department", STRING, "Month number", INTEGER, "Month", STRING, "Revenue", DOUBLE,
    {
        { "Drinks", 1, "Jan", 228000 }, { "Drinks", 2, "Feb", 205000 }, { "Drinks", 8, "Aug", 284000 },
        { "Dairy", 1, "Jan", 44000 }, { "Dairy", 2, "Feb", 48000 }, { "Dairy", 8, "Aug", 89000 },
        { "Health and beauty", 1, "Jan", 264000 }, { "Health and beauty", 2, "Feb", 255000 }, { "Health and beauty", 8, "Aug", 137000 }
    }
)

Then the measure (right-click the Sales table › New measure):

Total revenue =
SUM ( Sales[Revenue] )  -- adds up the revenue of the rows in the cell

Pitfalls.

  • Month order. A text column "Jan, Feb" sorts alphabetically. Select the Month column, then Column tools › Sort by column › Month number: the visual follows the model order. With a real date column, nothing to do.
  • A measure, not a column. Drop a measure into Value (color). A numeric column dropped directly is summed by Power BI: often what you want, but an average needs an AVERAGE measure.
  • Blank cells. A combination without data is hatched and listed as "Blank" in the legend: it is never mistaken for a zero.

Step by step

  1. In the Visualizations pane, click the Heatmap Plume icon. The visual shows "Add fields to get started".
  2. Drop Department into Rows. A column of cells appears, one per department.
  3. Drop Month into Columns. The grid takes shape: one cell per department and month.
  4. Drop the Total revenue measure into Value (color). The cells get colored, from very light blue to dark blue, and the values are written in them. The title becomes "Total revenue by Department and Month".
  5. Read the legend at the top right: the smallest value on the left, the largest on the right. A dark cell = a high value.
  6. Hover a cell: the tooltip gives the department, the month and the revenue, and the row and column names turn to the accent color.
  7. Click a cell: the other visuals of the page are filtered to that department that month. Click the name Drinks: the whole row is selected. Click an empty area to clear everything.
  8. Open Format › Sort and choose Sort rows by › Row total: the strongest department moves to the top.
  9. Open Format › Color scale and choose Color distribution › Equal classes: five distinct colors, easier to compare, and the legend lists the classes.
  10. Open Format › Cells and choose Cell shape › Circles: each cell becomes a dot, and the color reads the same way.

And the calendar? Remove Department and Month, then drop a date column (one row per day) into Date: the visual draws a calendar, one day per cell, one strip per year. With a date-time (timestamp), it draws a day of week × hour grid.

Troubleshooting

What you seeLikely causeSolution
"Add fields to get started"No measure in Value (color) and no dateDrop a measure, or a date column into Date
Months out of orderText column sorted alphabeticallyColumn tools › Sort by column with the month number, or use a date column
Hatched cellsNo data for that department that monthIt is on purpose: a blank cell is not a zero. Format › Color scale › Empty cells to gray or hide them
No value written in the cellsAt least one value does not fit: labels are "all or nothing"Enlarge the visual, reduce Text size, choose Display units › Thousands, or turn off Hide the labels when they do not all fit
The grid scrolls instead of showing everythingToo many rows for the height: cells do not shrink below Minimum size before scrollingLower this setting in Format › Cells, or keep the first N rows (Format › Sort)
All cells have almost the same colorOne huge value flattens the othersFormat › Color scale › Color distribution › Equal classes, or a fixed Maximum; premium: Ignore extreme values ★ or Scale › Square root ★
A calendar instead of a gridOnly a date is in the fieldsAdd Rows and Columns, or choose Format › Layout › Type › Grid: rows × columns

Key takeaways

  • One row per cell: Rows, Columns and a measure in Value (color).
  • A date alone gives a calendar, a date-time a day × hour grid.
  • A blank cell is hatched, never mistaken for a zero.
  • Click a cell, a row or a column name: the page is filtered.
  • Colors are set in Color scale, palettes in the Style card.

Going further: the use cases (calendar, peak hours, diverging scale ★, sorting, comparison ★, play axis ★) and the fields and settings reference; the Plume basics; the visual's page; a question: support.