# SmartVisuals Radar Chart for Power BI

> SmartVisuals Radar Chart: compare teams, products or KPIs on a scale that stays put. Normalization for mixed units, inverted axes, target polygon, zone bands, four chart modes and small multiples. Free tier never blocked.

- Page: https://www.smartvisuals.io/visuals/radar-chart
- Fields and settings: https://www.smartvisuals.io/visuals/radar-chart/settings
- Microsoft Marketplace: https://marketplace.microsoft.com/en-us/product/smartvisuals.smartvisuals-radar?tab=overview
- Package: https://www.smartvisuals.io/downloads/smartvisuals-radar-chart-1.0.1.0.pbiviz
- Sample report (zipped .pbip): https://www.smartvisuals.io/samples/smartvisuals-radar-chart-sample-1.0.1.0.zip
- Price: Free tier for every viewer; premium $1.99 per user per month or $19 per user per year on Microsoft Marketplace, with a 30-day free trial. Premium works in edit mode without a licence; unlicensed viewers see the free tier, never a blocked visual.
- Certified by Microsoft: yes
- Version: 1.0.1.0
- GUID (visualType and publicCustomVisuals): `radarChartDE4CDC2967844EE98437EAF488DEB8C3`

## What is free

- **Up to 3 series, up to 100 axes**: Plus every cosmetic option: 4 themes, line / area / spline styles, marker shapes, polygon or circle grid, rotation, legend, data labels. Every color, font and shape is yours to override.
- **Honest scale controls**: Pin the minimum and maximum so the chart stops rescaling with every slicer click — the classic radar trap. Start axes at zero, order axes your way.
- **No lock-out, ever**: Unlicensed viewers always see the full free tier — no watermark, no broken visual, no blocked report.
- **Interactive and accessible**: Cross-filtering, multi-select, drill-down on axis hierarchies, tooltips on points and whole axes, one keyboard tab stop with arrow navigation, high-contrast and reduced-motion support.

## What premium adds

- **4 or more series**: Compare as many teams or products as your story needs, or split one measure by a Legend field.
- **Normalization for mixed units**: Min-max, percentile rank or z-score per axis, so speed, price and NPS compare fairly on one chart.
- **Inverted axes**: Mark axes where lower is better (price, error rate) so "further out" always means "better".
- **Target polygon, zones and benchmark**: Judge every series against a dashed goal shape, red/amber/green value rings, a reference line and the min-max envelope or average of the visible series.
- **Chart modes**: When polygons overlap, switch to pizza slices with value chips, radial columns, or lollipops — one dropdown, same fields.
- **Small multiples**: One mini radar per series on a shared scale, each carrying the dashed average silhouette of the field.

## Fields

| Field | Internal name | Takes | Needed | What it is for |
| --- | --- | --- | --- | --- |
| Axis | `category` | Column | Required | Axis labels for the radar chart |
| Legend | `legend` | Column | Optional | Series grouping |
| Values | `measure` | Measure | Required | Numeric values for each series |
| Target | `target` | Measure | Optional | Target value per axis, drawn as a dashed target polygon (premium) |

## Format pane

Each card is a key under `visual.objects` in a PBIR visual.json; each setting is a property of it. Toggles take `true`/`false`, choices and text a value in single quotes (`'auto'`), numbers a `D` suffix (`12D`).

### Theme (`theme`)

| Setting | Internal name | Type or options |
| --- | --- | --- |
| Theme | `selectedTheme` | `smartvisuals` (SmartVisuals), `kingfisher` (Kingfisher), `dark` (Dark), `slate` (Slate), `clean` (Clean (White)) |
| Use Report Theme Colors | `useReportTheme` | On / off |

### Axes & Scale (`scale`)

| Setting | Internal name | Type or options |
| --- | --- | --- |
| Scaling | `scaleMode` | `shared` (Shared (one scale)), `independent` (Independent (per axis)) |
| Minimum | `axisMin` | Text |
| Maximum | `axisMax` | Text |
| Start Axes at Zero | `axisStartAtZero` | On / off |
| Axis Order | `axisOrder` | `data` (As in data), `alpha` (Alphabetical), `desc` (By value (high first)), `asc` (By value (low first)) |
| Normalize Axes | `normalization` | `none` (Off (raw values)), `minmax` (Min–Max (0–100%)), `percentile` (Percentile rank), `zscore` (Z-score (σ)) |
| Inverted Axes | `invertedAxes` | Text |
| Per-Axis Minimums | `axisMinOverrides` | Text |
| Per-Axis Maximums | `axisMaxOverrides` | Text |
| Show Benchmark Band | `showBenchmark` | On / off |
| Benchmark | `benchmarkMode` | `range` (Min–Max Range), `average` (Average) |

### Chart (`chart`)

| Setting | Internal name | Type or options |
| --- | --- | --- |
| Chart Mode | `chartMode` | `radar` (Radar), `pizza` (Pizza (slices)), `columns` (Radial Columns), `lollipop` (Lollipop) |
| Grid Levels | `gridLevels` | Number |
| Grid Shape | `gridShape` | `auto` (Auto (theme)), `polygon` (Polygon), `circle` (Circle) |
| Rotation (°) | `startAngle` | Number |
| Show Grid Values | `showGridValues` | On / off |
| Fill Opacity | `fillOpacity` | Number |
| Background Color | `bgColor` | Colour |
| Chart Style | `lineStyle` | `auto` (Auto (theme)), `line` (Line), `area` (Area (filled)), `spline` (Spline), `area-spline` (Area Spline) |
| Transparent Background | `transparentBg` | On / off |
| Marker Shape | `markerShape` | `auto` (Auto (varied per series)), `circle` (Circle), `square` (Square), `triangle` (Triangle), `triangle-down` (Triangle (down)), `diamond` (Diamond), `none` (None) |
| Marker Size | `markerSize` | Number |

### Legend (`legend`)

| Setting | Internal name | Type or options |
| --- | --- | --- |
| Show Legend | `showLegend` | On / off |
| Position | `legendPosition` | `top-left` (Top Left), `top-right` (Top Right), `bottom-left` (Bottom Left), `bottom-right` (Bottom Right), `top-center` (Top Center), `bottom-center` (Bottom Center) |
| Title Text | `legendTitle` | Text |
| Title Color | `legendTitleColor` | Colour |
| Title Font Size | `legendTitleFontSize` | Number |
| Bold | `legendTitleBold` | On / off |

### Data Colors (`dataPoint`)

| Setting | Internal name | Type or options |
| --- | --- | --- |
| Fill | `fill` | Colour |

### Small Multiples (`smallMultiples`)

| Setting | Internal name | Type or options |
| --- | --- | --- |
| Show Small Multiples | `enableSmallMultiples` | On / off |
| Columns | `smColumns` | `auto` (Auto), `1`, `2`, `3`, `4`, `5`, `6` |
| Show Average Shape | `smShowAverage` | On / off |

### Target (`target`)

| Setting | Internal name | Type or options |
| --- | --- | --- |
| Show Target | `showTarget` | On / off |
| Color | `targetColor` | Colour |
| Line Width | `targetWidth` | Number |

### Zone Bands (`zones`)

| Setting | Internal name | Type or options |
| --- | --- | --- |
| Show Zone Bands | `enableZones` | On / off |
| Alert Below | `alertBelow` | Number |
| Good Above | `goodAbove` | Number |
| Band Opacity | `zoneOpacity` | Number |
| Good Color | `goodZoneColor` | Colour |
| Watch Color | `warnZoneColor` | Colour |
| Alert Color | `badZoneColor` | Colour |

### Reference Line (`referenceLine`)

| Setting | Internal name | Type or options |
| --- | --- | --- |
| Show Reference Line | `showReferenceLine` | On / off |
| Value | `referenceValue` | Number |
| Color | `referenceColor` | Colour |
| Line Style | `referenceLineStyle` | `solid` (Solid), `dashed` (Dashed), `dotted` (Dotted) |
| Line Width | `referenceLineWidth` | Number |
| Show Value Label | `showReferenceLabel` | On / off |

### Data Labels (`dataLabels`)

| Setting | Internal name | Type or options |
| --- | --- | --- |
| Show Data Labels | `showDataLabels` | On / off |
| Font Size | `dataLabelFontSize` | Number |
| Color | `dataLabelColor` | Colour |
| Display Units | `displayUnits` | `auto` (Auto), `none` (None), `thousands` (Thousands (K)), `millions` (Millions (M)) |
| Decimal Places | `decimals` | `auto` (Auto), `0`, `1`, `2`, `3` |

### Conditional Formatting (`rules`)

| Setting | Internal name | Type or options |
| --- | --- | --- |
| Color Series by Rule | `enableRules` | On / off |
| Evaluate | `metric` | `avg` (Average across axes), `min` (Weakest axis (min)), `max` (Strongest axis (max)), `total` (Total (sum)) |
| Good When ≥ | `goodThreshold` | Number |
| Alert When < | `badThreshold` | Number |
| Good Color | `goodColor` | Colour |
| Watch Color | `warnColor` | Colour |
| Alert Color | `badColor` | Colour |

### Labels (`labels`)

| Setting | Internal name | Type or options |
| --- | --- | --- |
| Font Size | `fontSize` | Number |
| Font | `fontFamily` | `inter` (Inter), `segoe` (Segoe UI), `arial` (Arial), `georgia` (Georgia) |
| Label Color | `labelColor` | Colour |
