Power BI Customization

Customizing a Tornado Chart in Power BI

Customise the colours, labels, formatting, and behaviour of a Tornado Chart in Power BI — formatting pane options, theme overrides, conditional formatting, source-code edits.

Once you have a Tornado Chart on your Power BI report, the next question is always: how far can I customise it? The answer depends on whether you're working with a built-in chart (limited; only what the formatting pane exposes), a marketplace custom visual (limited to whatever options the vendor exposed; paid tiers often unlock more), or an AI-generated visual (every property is exposed because you own the source).

This guide walks through the four customisation surfaces in order from most accessible to most powerful: the formatting pane, conditional formatting, theme overrides via JSON, and source-code edits. The first three apply to every Power BI custom visual; the fourth applies only when you have the TypeScript source — which you do whenever you generate a visual with VizForge.

Step-by-step

  1. 1

    Start with the formatting pane

    Click the visual, then the paint-roller icon. Every option the visual exposes appears here — colours, font sizes, label positions, axis behaviour, cross-filter behaviour. For an AI-generated tornado chart, the formatting pane is whatever you described as a settings option in the original prompt.

  2. 2

    Apply conditional formatting where supported

    Right-click most colour or label-text properties → Conditional formatting. Drives the property from a DAX measure or rule. Useful for variance-driven colour rules (red/green based on threshold), KPI-status text, or data-driven labels.

  3. 3

    Override via report theme JSON

    Power BI report themes (.json) can set defaults for any custom visual property. View → Themes → Browse for themes. Themes are how enterprise design systems propagate across many reports without per-visual edits.

  4. 4

    Edit the TypeScript source for deeper changes

    When the formatting pane doesn't expose what you need (e.g. add a new bar-rounding option, change the cross-filter behaviour, integrate with a different DataView shape), open the visual.ts file in VS Code. The source ships with every VizForge-generated .pbiviz; rebuild with `pbiviz package` after edits.

  5. 5

    Re-prompt for substantive redesigns

    If the change is large enough that source edits feel laborious — different chart family, completely different layout — describe the new vision and re-generate rather than refactor. Generation is fast enough that re-prompting beats refactoring for changes above a certain size.

The AI alternative: Need a tornado chart customised exactly to your spec? Describe what you want — VizForge generates it with every option you mentioned exposed in the formatting pane. Source code yours.

Generate a tornado chart on VizForge →

When to use a tornado chart

  • Sensitivity analysis (impact of each variable on NPV, price, etc.)
  • Age / gender demographic pyramids
  • A / B cohort comparison (new vs. control) across many metrics
  • Risk register: likelihood × impact mirrored around a center
  • Sports stats: home vs. away splits for each metric

Frequently asked questions

What if the formatting pane doesn't have the option I need?

Two paths. (a) Re-generate with a refinement prompt asking for that specific option to be exposed. (b) If you have the TypeScript source, add the option directly to settings.ts and the formatting pane reflects it on next package.

Can I keep the same .pbiviz across multiple reports?

Yes — once imported, the .pbiviz is a Power BI org-visual you can re-use. Or push it to your tenant's Org Visuals so anyone in your org can use it without importing.

Will customisations survive a regeneration?

Source-code edits won't carry across a from-scratch regeneration. Use Refine instead — it produces a minimal diff on the previous version, preserving everything not directly mentioned in your refinement prompt.

Symmetric axes or data-driven?

Symmetric by default (cleaner visual). Prompt for 'independent axes' if the two sides live at different magnitudes.

Can I overlay a baseline marker?

Yes — specify a 'zero line' or a 'baseline value' and the visual draws a vertical reference.

How does it sort?

By absolute magnitude descending by default — the tornado narrows as impact decreases. Override with 'sort alphabetically' or 'sort by a custom field'.

What if one side has many more categories than the other?

The visual pairs by Category; any unpaired categories render as single-sided bars on the side they exist.

Other guides for the tornado chart

Same visual, different angle — pick the one that matches what you’re trying to do.

VizForge — AI-generated Power BI custom visuals.

Your next visual
ships in 4–10 min.

Sign up free. 5 credits to generate your first visuals on us. No credit card required.