How to Format Visuals in Power BI (Colours, Labels, Titles)
.webp)
Introduction
Good data deserves good design. In Power BI, you don’t need to be a designer to make clear, professional visuals. With a few settings—colours, labels, and titles—you can turn basic charts into reports that people understand at a glance.
This guide shows you how to:
- Choose and manage colours (themes, palettes, conditional formatting, and accessibility).
- Set labels that are readable, consistent, and helpful.
- Build titles that explain the “what” and dynamic titles that update as users filter.
- Use page vs visual formatting, report themes, and a simple JSON theme snippet you can reuse.
- Apply best-practice layouts and quick fixes for common formatting problems.
You can follow along with any recent version of Power BI Desktop.
Meet the Formatting Pane (your control centre)
Select a visual and open the Format pane. You’ll see sections like:
- Visual (style settings specific to that visual type)
- General (position, size, header icons, tooltips)
- Effects (background, drop shadows, rounded corners)
- Title, Subtitle, Data labels, Legend, Y-axis/X-axis (for charts)
- Analytics (trend lines, constant lines, error bars—varies by visual)
Tip: Use the Search box at the top of the Format pane to jump to any setting.
1) Colours that work (and why they matter)
A) Start with a report theme
Themes control default colours for all visuals. Pick a built-in theme (View > Themes), or import a custom JSON. A theme gives you:
- A categorical palette (automatic series colours)
- Default text and background colours
- Font styles and sizes (if defined)
Benefits: Consistency across pages, fewer manual tweaks, faster formatting.
B) Data colours (per visual)
For bar/column/line charts:
- Select the visual → Format > Data colours.
- Toggle Show all to set colours for each series or category.
- Keep the number of colours small. Use one main colour and a second highlight.
Pattern that works well
- Primary colour for the selected series (e.g., brand blue).
- Neutral greys for “other” bars to reduce noise.
- Accent colour for targets or last period.
C) Conditional formatting (smart colour by value)
Use colour to show meaning—growth vs decline, on-track vs risk, high vs low.
Where you’ll find it:
- Data colours > fx (by measure)
- Background > fx (for cards)
- Values > Conditional formatting (tables/matrices)
Common patterns:
- RAG (Red-Amber-Green) by KPI %
- Diverging colours for positive vs negative variance
- Colour by category for status (e.g., “Completed”, “In Progress”, “Blocked”)
Rule of thumb: If a colour tells a story, keep it. If it’s decoration, remove it.
D) Diverging colour scales (heat maps & variance)
For tables/matrices and some charts, use a diverging scale:
- Centre at 0 (or a target value) so negative values go one way, positive the other.
- Keep mid-tones light, ends bold.
- Avoid pure red/green only—some users can’t see the difference (see accessibility below).
E) Accessibility (colour-blind friendly)
- Prefer blue/orange, purple/green, or teal/magenta combos.
- Use shape, labels, or icons (▲ ▼ ●) alongside colour to show change.
- Check contrast: dark text on light backgrounds, and vice versa.
- Don’t rely on colour alone for status—add a label or symbol.
2) Labels that tell the truth (clearly)
Labels should be readable, minimal, and consistent.
A) Data labels (the numbers on bars/points)
- Turn on Data labels in the Format pane.
- Pick Display units (None, K, M) and Decimal places (0–1 is often enough).
- For crowded charts, use Inside end for bars/columns and Callout value for cards.
- Avoid labelling every small slice in a pie—consider a bar chart instead.
B) Category labels (axis text)
- Keep categories short. If names wrap badly, rename fields or use word wrap.
- Consider rotate to 45° only if space is tight; horizontal is easier to read.
C) Axis (Y and X)
- Turn on Title and give it a unit (e.g., “Revenue (£)”, “% of Target”).
- Use Display units to prevent 0.00 clutter.
- Hide the secondary axis on combo charts unless absolutely needed.
D) Legends
- Turn legends on only if they add value.
- Put legends top or right; avoid bottom (often overlaps with page navigation).
- For two to three series, you can label directly in the chart (line labels at the end points) and hide the legend.
3) Titles that explain the “what”—and dynamic titles that change
A) Static titles (good baseline)
- Keep titles short and specific:
“Monthly Sales by Region”, “On-Time Delivery (%) by Plant” - Use Subtitle for a second line if needed (e.g., date range).
B) Dynamic titles (great for slicers & context)
Dynamic titles use a measure so the text updates with the user’s filters.
Example measure (DAX):
Title_Month_Product :=
VAR m = SELECTEDVALUE('Calendar'[MonthName], "All Months")
VAR p = SELECTEDVALUE('Product'[Category], "All Products")
RETURN "Sales by Region — " & p & " — " & m
- Create the measure in Modeling > New measure.
- In the visual’s Title > fx, set Format style = Field value, and select your measure.
What to include in a dynamic title
- The filtered dimension(s): product, month, region
- The metric/unit: “Revenue (£)”, “Average Lead Time (days)”
This saves users from hunting for context.
4) Cards, KPI visuals, and gauges
Cards (single number)
- Turn on Category label (“Revenue”).
- Use Data label with Display units and decimal places.
- Background: subtle; avoid heavy shadows.
KPI visual
- Needs a Trend axis (e.g., Date), Indicator (current value), and Target (goal).
- Colour by Goal status (via conditional formatting).
- Keep it simple: one KPI per card is clearer than a busy dashboard of mixed gauges.
Gauge
- Use sparingly. Set clear Min/Max/Target.
- Consider an alternative: bar with target line (easier to read exact values).
5) Tables and matrices (make them scannable)
- Use Values > Style (e.g., Minimal or Bold header).
- Apply conditional formatting to key columns (Data bars or colour scale).
- Set Row padding for breathing room (8–12 px).
- Use field formatting: align numbers right, text left.
- Turn on Column subtotals or Row subtotals only if they aid comparison.
6) Line, bar, and combo charts (workhorse visuals)
Bars/Columns
- Prefer horizontal bars for long category names.
- Avoid more than 6–8 categories on one chart; use a slicer if needed.
- For comparisons, consider small multiples (same axes, separate panels).
Lines
- Limit to 2–3 lines per visual to avoid spaghetti.
- Make the current period a solid line and prior period a dashed line (or neutral colour).
- Use markers sparingly—only where you want to emphasise points (e.g., maximum/minimum).
Combo (line + column)
- Great for “Sales vs Target” or “Volume vs Price”.
- Use a second axis only when units differ and values would hide detail.
- Keep the second axis clearly labelled and contrasted.
7) Backgrounds, borders, and whitespace
- Page background: light, low-contrast, or white. Dark backgrounds can reduce legibility of small text.
- Visual background: usually off; if you need separation, use a light 2–4% tint or a thin border.
- Padding: give each visual room. Crowded charts feel noisy even with perfect colours.
8) Report header and footers (context users need)
Consider a small page header with:
- Report title (matches the selected topic)
- Date range (dynamic text measure)
- Key slicer state (e.g., Selected Region)
…and a small footer with:
- Source (“Source: ERP, refreshed daily at 06:00”)
- Contact (“Owner: BI Team”)
Use Text boxes or Shapes with consistent fonts and sizes.
9) Tooltips and drill-through (context on demand)
- Turn on Tooltips; include formatted values and a short label.
- Create a Tooltip page (Page information > Tooltip = On) with extra metrics and use it for multiple visuals.
- Drill-through pages: allow right-click to open a focused page for a selected entity (e.g., customer). Add a clear Back button.
10) Page vs visual formatting (set once, reuse often)
- Page-level settings apply to everything on the page (background, wallpaper).
- Visual-level settings apply to one chart only.
- Use “Format painter” to copy settings between visuals.
- Create templates: build one page with ideal styles, Duplicate page, then swap fields.
11) Themes with JSON (copy-and-paste starter)
A simple theme gives you consistent colours and fonts across the report.
Example JSON (customise the hex values and fonts):
{
"name": "ExperTrain Clean",
"textClasses": {
"title": {"fontFace": "Segoe UI Semibold"},
"header": {"fontFace": "Segoe UI"},
"callout": {"fontFace": "Segoe UI Semibold"},
"label": {"fontFace": "Segoe UI"}
},
"visualStyles": {
"*": {
"*": [{
"color": {"expression": {"Solid": {"color": "#2B2B2B"}}},
"title": [{"show": true, "fontSize": 12, "fontFamily": "Segoe UI Semibold"}],
"labels": [{"fontSize": 10}],
"background": [{"show": false}],
"border": [{"show": false}]
}]
}
},
"dataColors": [
"#005EB8", "#009DDD", "#6CC24A", "#F5A800",
"#D81E05", "#7A52C7", "#00A499", "#6D6E71"
],
"neutralColors": {
"foreground": "#2B2B2B",
"background": "#FFFFFF",
"foregroundNeutralSecondary": "#6D6E71"
}
}
Save as .json and import via View > Themes > Browse for themes.
12) Quick layout tips that always help
- One idea per visual. If your title needs “and”, split the visual.
- Align edges using the Align tools; set Grid and Snap to grid.
- Use a 12-column layout guide for consistent spacing.
- Group filters on the left or top; keep content area clean.
- Keep cards at the top for KPIs; trends and details below.
13) Common formatting problems (and fixes)
.png)
14) Performance considerations for formatted reports
- Fewer visuals per page = faster load. Combine where sensible.
- Avoid heavy shadows, high-resolution backgrounds, or transparent overlays.
- Use measures for formatted values rather than many layer visuals.
- Prefer small multiples over many separate charts for the same measure.
15) Best-practice checklist (copy/paste)
- ✅ Use a theme for colours and fonts.
- ✅ Add dynamic titles that show slicer context.
- ✅ Limit to 2–3 series per chart; label clearly.
- ✅ Use conditional formatting to show meaning, not decoration.
- ✅ Keep labels short; set units/decimals; ensure contrast.
- ✅ Avoid dual axes unless units differ.
- ✅ Provide tooltips and drill-through for detail.
- ✅ Keep pages clean: whitespace is your friend.
- ✅ Test with a colour-blind simulator and at 125% zoom for readability.
Conclusion
Well-formatted visuals make your report faster to read and easier to trust. Start with a theme, keep colours purposeful, set labels that people can read in seconds, and write titles that explain exactly what they’re seeing. Add dynamic titles for context and conditional formatting for insight. With these habits, your Power BI pages will look polished and drive action.
If you’d like hands-on practice with real datasets and expert guidance, join our courses:
- Power BI Desktop Introduction – Build clean visuals, set themes, and publish.
- Power BI Desktop Intermediate – Dynamic titles, conditional formatting, small multiples, and drill-through.
- Power BI Desktop Advanced – Advanced DAX for measure-driven formatting, template themes, and performance tuning.




