Jauge en forme pour Power BI Shape Gauge Plume
Une goutte, un tonneau ou votre logo se remplit de couleur pour montrer un pourcentage : valeur et objectif, une forme par catégorie, votre logo.
Démo interactive
Le vrai visuel Power BI, exécuté dans votre navigateur avec les données fictives du rapport d'exemple. Changez de scénario, de style ou d'année : le visuel se met à jour comme dans Power BI. Fonctions premium ★ montrées ici sans filigrane ; dans Power BI, sans licence, elles affichent « Plume Visuals · Aperçu premium ».
Power BI n'a pas de jauge en forme : la jauge native est un arc, et l'ancien « Liquid Fill Gauge » n'est plus dans la galerie. Shape Gauge Plume remplit n'importe quelle forme jusqu'au niveau d'un pourcentage : valeur divisée par l'objectif, ou position entre un minimum et un maximum. La surface ondule, le pourcentage s'écrit en deux tons, l'objectif se trace dans la forme, et une forme par catégorie se range seule en grille. Les récipients (tonneau, bouteille, verre à vin, thermomètre, pile…) ne remplissent que leur intérieur. En premium : 131 formes de plus, votre logo en SVG aux couleurs d'origine, le remplissage circulaire et radial, le lecteur temporel (la forme se remplit année après année), les seuils de couleur, les dégradés, le mode « aire exacte » (un quart de la surface vaut 25 %), les graduations, les couches empilées, la comparaison à l'année précédente et les pictogrammes.
Cas d'usage
- Taux d'atteinte d'un objectif commercial, par région ou par équipe
- Niveau d'une cuve, d'un stock ou d'un entrepôt (tonneau, réservoir, bocal)
- Collecte de dons ou budget consommé sur un thermomètre, avec l'objectif
- Satisfaction client ou taux de service, le logo de l'entreprise rempli
GratuitInclus gratuitement
- 22 formes gratuites : goutte, cercle, cœur, personne, maison, tonneau, bouteille, verres, thermomètre, piles…
- Remplissage vertical ou horizontal dans les deux sens, surface en vague, remplissage animé
- Valeur / objectif, ou minimum et maximum ; débordement visible au-delà de 100 %
- Couleur unique (aussi pilotée en DAX) ou une couleur par catégorie
- Étiquette deux tons (pourcentage, valeur, valeur / objectif), trait d'objectif
- Une forme par catégorie en grille, triée par valeur ou par nom
- Étiquettes du minimum et du maximum ; texte toujours contenu dans la forme
- Formats dynamiques : bouton fx sur les couleurs et les textes, tout réglage piloté en DAX
PremiumFonctions premium
- 131 formes de plus, dont 15 autres récipients qui ne remplissent que leur intérieur (réservoir, bécher, éprouvette, sablier…)
- Votre SVG collé ou fourni par une mesure, nettoyé ; logo aux couleurs d'origine
- Lecteur temporel : la forme se remplit année après année
- Remplissage circulaire (angle de départ, sens) et radial ; « aire exacte » pour les formes irrégulières ; graduations
- Seuils de couleur (défavorable, moyen, favorable), dégradés, couleur selon le pourcentage, motifs
- Couches empilées, comparaison à la période précédente (niveau fantôme, écart en points), pictogrammes
- Vague animée et bulles ; styles communs au catalogue, palettes, thème JSON
Utilisables sans clé pour les essayer, avec un filigrane.
Tutoriels
Commencez par la prise en main, puis piochez dans les cas pratiques. La page « Champs et réglages » décrit chaque option du volet Format.
- Prise en mainDébutant6 min de lectureUne jauge en forme de goutte, de tonneau ou de logo dans Power BIPrise en main de Shape Gauge Plume : une valeur et son objectif, une forme qui se remplit de couleur, une forme par région, un remplissage horizontal.
- Cas pratiquesIntermédiaire6 min de lectureShape Gauge Plume : 12 cas pratiquesPas à pas : un tonneau rempli de bordeaux, un thermomètre de collecte, votre logo rempli, une forme par produit, le remplissage circulaire, le lecteur, les seuils, les couches et les pictogrammes.
- Champs et réglagesIntermédiaire19 min de lectureShape Gauge Plume : tous les champs et réglages expliquésChaque zone de champ et chaque réglage du volet Format de Shape Gauge Plume : forme, remplissage, couleurs, étiquette, échelle, objectif, disposition et lecteur.
- Bases communesBien démarrer avec les visuels PlumeInstallation, licence, styles et réglages communs à tous les visuels.
Champs à glisser dans le visuel
| Champ | Contenu | |
|---|---|---|
| Catégorie (une forme chacune) | Une forme par valeur (région, produit, équipe) | Facultatif |
| Axe de lecture | Année ou date : la forme se remplit image après image | FacultatifPremium |
| Valeur | La mesure qui remplit la forme | Obligatoire |
| Objectif (100 %) | Valeur d'une forme pleine ; avec un maximum, trait d'objectif | Facultatif |
| Minimum, Maximum | Valeurs d'une forme vide et pleine | Facultatif |
| Comparaison (période précédente) | Niveau fantôme et écart en points | FacultatifPremium |
| Couches empilées | Jusqu'à 8 mesures empilées dans la forme | FacultatifPremium |
| Forme SVG (mesure) | Mesure texte : un SVG par catégorie, nettoyé | FacultatifPremium |
| Infobulles | Mesures supplémentaires | Facultatif |
| Format dynamique | Mesures renommées carte.réglage (ex. title.text) : le volet Format piloté en DAX | Facultatif |
Il vous manque une fonction ? Nous adaptons nos visuels ou en créons sur mesure. Demander un visuel sur mesure
Un bug dans Shape Gauge Plume, ou une idée pour l'améliorer ? Signaler un bug · Proposer une idée
Référence technique pour assistants IA
Section destinée aux assistants IA (ChatGPT, Claude, Copilot…) : tous les champs, toutes les options du volet Format avec leurs noms internes, le format des données et des exemples DAX. Générée depuis le code du visuel, version 1.1.0.0. Vous pouvez la copier dans votre assistant pour qu'il vous guide.
Version Markdown brute (/ai/visuals/shape-gauge.md)# Shape Gauge Plume: technical reference for AI assistants
> Power BI custom visual by Plume Studio (Plume Visuals). Visual version **1.1.0.0**. This page is generated from the visual's source code at each site build: field names, option names and defaults are exact for this version.
Use it to help someone build a report with Shape Gauge Plume: which fields to drag, how to shape the data, which Format pane option to change, or how to write the visual's settings in a PBIP `visual.json` file.
- Product page: https://plumevisuals.com/en/visuals/shape-gauge (French: https://plumevisuals.com/fr/visuels/shape-gauge)
- Summary: A drop, a barrel or your logo fills up with color to show a percentage: value and target, one shape per category, your logo.
- Power BI visual GUID (`visualType`): `plumeShapeGaugeF50F8ABFCB9F44309B5AF1FB9BD1EA96`
- Power BI visuals API: 5.11.1
- Support: https://plumevisuals.com/support · contact@plumevisuals.com
- Index of everything on the site for AI assistants: https://plumevisuals.com/llms.txt
## What the visual does
Shape Gauge Plume (identifier `shape-gauge`) is a Power BI custom visual (version 1.1.0.0, installed from its `.pbiviz` file; AppSource submission in preparation) that turns **any shape into a gauge**: a drop, a barrel, a bottle or a logo fills up with color to show a percentage (e.g. a barrel 50% full of burgundy for 50%). Power BI has no native shape gauge (the native gauge is an arc); Microsoft's old Liquid Fill Gauge (circle only) is no longer in the store.
**New in version 1.1.0.0 (30/10/2026):** Free native-parity addition: **minimum and maximum labels** at the ends of the scale.
- **Percentage** = (value − minimum) / (maximum − minimum). Minimum: `minimum` role, else `scale.min`, else 0. Maximum: `maximum` role, else the `target` role ("Target (100 %)"), else `scale.max`, else automatic: 1 when values are fractions (% format or all between 0 and 1), else the largest value.
- **153 shapes** from the shared Plume library (22 free), including **22 containers** (barrel, bottle, wine glass, glass, mug, jar, bucket, battery, vertical battery, thermometer, test tube, tank, funnel, hourglass, bag, piggy bank, flask, beaker, can, coffee cup, vase, milk carton) that fill **only their inside**; hoops, graduations and sleeves are drawn over the liquid. Own SVG ★ pasted in the pane or returned by a text measure (sanitized).
- **Fill directions**: bottom → top, top → bottom, left → right, right → left, "from the shape" (battery: left → right), circular ★ (start angle, clockwise or not), radial ★. `fill.measure` = `area` ★ makes the filled **area** exactly the percentage.
- Wavy surface, animated fill on opening (900 ms, not on resize), visible overflow above 100% (dome) or cap, two-tone label placed at the widest point of the filled area, target mark with an arrow, tick marks ★, one shape per category in an automatic grid, and the shared **play axis** ★: the shape fills up frame after frame with animated transitions.
## Free vs premium (★)
- Every feature works without a key and nothing is ever blocked. Free features never show a watermark.
- Shared Style card (the same in every Plume visual): the styles `none`, `minimal` and `blackWhite`, the two Plume gradient palettes (`crest`, `crestDiverging`), "Follow report theme" and all custom colors are **free**; every other `style.preset`, the other gradient palettes (`style.palette`) and `style.themeJson` ("Theme JSON ★") are **premium**.
- Free in Shape Gauge Plume: the 22 free shapes (`circle`, `square`, `roundedSquare`, `rectangle`, `triangle`, `diamond`, `hexagon`, `star`, `heart`, `cloud`, `drop` (default), `bubble`, `arrow`, `person`, `house`, `barrel`, `bottle`, `glass`, `wineGlass`, `thermometer`, `battery`, `batteryVertical`); vertical and horizontal fills (height of the level); single color (also driven by DAX), one color per category; empty part color and opacity, container color, outline; wavy surface; every label option; target, overflow; one shape per category; sort, columns, limit.
- Premium features of Shape Gauge Plume: the 131 other shapes (among them 15 of the 22 containers: mug, jar, bucket, test tube, tank, funnel, hourglass, bag, piggy bank, flask, beaker, can, coffee cup, vase, milk carton); `shape.source` = `svg` and the `shapeSvg` role; `shape.svgPaint` = `original`; `fill.direction` = `circular` or `radial`; `dataColors.mode` = `gradient` or `scale`; `shape.emptyPattern` = `hatch`, `dots` or `grid`; `fill.waveMotion` (only when animations are not reduced); `fill.bubbles` (only for bottom-to-top fills); `layout.mode` = `pictograms`; the `comparison` role with `scale.compareShow`; the `layers` role; since the rebalancing of 22/10/2026: the `play` role (play axis, as soon as it holds data), `dataColors.mode` = `thresholds`, `fill.measure` = `area`, `scale.ticks` (vertical and horizontal fills). A ★ option with no effect shows no watermark (an unreadable SVG falls back to the free drop).
- Without a valid key, a premium feature in use shows, in edit mode, a "Premium preview" note in the footer; in reading view, **"Plume Visuals · Premium preview"** (French « Plume Visuals · Aperçu premium ») is repeated lightly across the whole visual, without catching the mouse. It disappears once a key is pasted in **Format › Plume Studio License › License key** (`license.key`), the **first card** of the Format pane. Premium options and list values have " ★" appended to their label.
- Accepted keys: only keys starting with `PLUM1.` shown in the buyer's account on plumevisuals.com, checked offline (Ed25519 signature), covering `shape-gauge` or the whole catalog. In edit mode, a wrong key shows "Invalid license key", "License expired (date)" or "This key does not cover this visual".
- Licenses last one year (one-time payment, no automatic renewal, key accepted for 30 more days, reminders 30 and 7 days before the end). Prices: 39 € personal, 99 € SME, 299 € enterprise per year, or the catalog pack (199 € / 399 € / 1,199 € per year; tiers by number of users: personal 1–10, SME 11–200, enterprise more than 200).
## Expected data shape
One row per category (and per play-axis value), with measures.
| Category (`category`) | Play axis (`play`) | Value (`value`) | Target (`target`) |
|---|---|---|---|
| West | 2024 | 410,000 | 600,000 |
| West | 2025 | 520,000 | 600,000 |
- **Category (one shape each)** (`category`, « Catégorie (une forme chacune) », one column): one shape per value; click = cross-filter. At most `layout.maxItems` shapes (60, up to 200); a note says so in edit mode.
- **Play axis ★** (`play`, « Axe de lecture ★ », one column, premium): date, year or ordered category; one frame per value. Clicking a shape selects the category only.
- **Value** (`value`, « Valeur », one measure): required unless Stacked layers are used.
- **Target (100 %)** (`target`, « Objectif (100 %) »): the value of a full shape; with `maximum` (or `scale.max`), drawn as a target mark instead.
- **Minimum** (`minimum`), **Maximum** (`maximum`): the empty and full values.
- **Comparison (previous period) ★** (`comparison`): ghost level and the change in points (▲ +8 pts).
- **Stacked layers ★** (`layers`, up to 8 measures): stacked in the shape, one color each, with a legend; their sum is the level.
- **SVG shape (measure) ★** (`shapeSvg`, text measure): SVG markup, data URI or a bare path `d`; one shape per category.
- **Tooltips** (`tooltips`) and **Dynamic format** (`format`, see below).
- Volume of data: windows of 30,000 rows, more fetched with `fetchMoreData` up to 100,000 rows; 100,004 categories render the first 60 shapes in a few seconds.
## DAX recipes
```dax
// Value and target: the shape is full when Revenue = Target
Revenue = SUM ( Sales[Amount] )
Target = SUM ( Sales[Target amount] )
// A ratio can go straight into Value (0.62 = 62%, no target needed)
Achievement = DIVIDE ( [Revenue], [Target] )
// Comparison ★
Prior-year revenue = CALCULATE ( [Revenue], SAMEPERIODLASTYEAR ( Dates[Date] ) )
// SVG shape per product ★ (text measure in the "SVG shape (measure)" well)
Product shape = SWITCH ( SELECTEDVALUE ( Products[Name] ), "Bike", "<svg viewBox='0 0 24 24'><path d='M2 20h20L12 2z'/></svg>", BLANK () )
```
## Interactions with the report
- Click a shape: cross-filter on its category; Ctrl for several; click the empty area to clear. Cross-highlighting from other visuals fills the highlighted part and keeps the full value as a light ghost level. Context menu everywhere (shapes, empty area, title, landing page).
- Hover: Power BI tooltip (category, frame, value, percentage, layers, full and empty values, target, comparison and change, threshold, Tooltips measures); report-page tooltips are supported.
- Play axis: play / pause, slider, speed ×0.5 to ×4, loop, start / end buttons, current frame in large type; keyboard in the play bar: Space, ← →, Page Up / Down, Home / End. Frame, play state and speed are per session (never saved).
- Keyboard on the shapes: Tab, arrows, Home / End, Enter selects, Esc clears; each shape is announced ("West: 62% (520,000)"). High contrast (host colors, no gradient, haloed label), "Reduce motion" respected (no fill animation, no moving wave), French and English.
## Dynamic formats
- **fx button** (Power BI conditional formatting) on colors and texts of the Format pane.
- **"Dynamic format" well** (`format`): measures renamed `card.setting` (e.g. `dataColors.single`, `title.text`, `fill.direction`, `shape.shape`) drive any setting and win over the fixed value. Driving a ★ setting by DAX still shows the watermark without a key.
```dax
// renamed dataColors.single
Result color = IF ( DIVIDE ( [Revenue], [Target] ) >= 0.8, "#2E7D4F", "#C0392B" )
// renamed title.text
Dynamic title = "Target achieved at " & FORMAT ( DIVIDE ( [Revenue], [Target] ), "0%" )
```
## Format pane: option IDs
- Card order: `license`, `style`, `dataColors`, `shape`, `fill`, `labels`, `scale`, `layout`, `legend` (with 2+ layers), `play` (« Lecture ★ », with a play axis), `interaction`, then `title`, `source`, `container`, `texts`. Format pane in version 1.1.0.0 (30/10/2026), top to bottom: `license`, `style`, `layout`, `dataColors`, `shape`, `fill`, `labels`, `scale`, `legend`, `play`, `interaction`, `tooltip`, `title`, `source`, `container`, `texts`. Settings moved or renamed in this version keep working in older reports (the old names are still read).
- `dataColors`: `mode` (`single` | `category` | `thresholds` ★ | `gradient` ★ | `scale` ★), `single`, `fill` (per category or per layer), `color2`, `color3`, `t1` (50), `t2` (80), `cLow`, `cMid` (#B26B00), `cHigh`, `lowerBetter`.
- `shape`: `source` (`library` | `svg` ★), `shape` (153 IDs, default `drop`; containers `barrel`, `bottle`, `wineGlass`, `glass`, `mug`, `jar`, `bucket`, `battery`, `batteryVertical`, `thermometer`, `testTube`, `tank`, `funnel`, `hourglass`, `bag`, `piggyBank`, `flask`, `beaker`, `can`, `coffeeCup`, `vase`, `milkCarton`), `svg` (text), `svgPaint` (`fill` | `original` ★), `fillArea` (`inner` | `whole`), `fit` (`contain` | `stretch`), `emptyColor`, `emptyOpacity` (0–100, 100), `emptyPattern` (`none` | `hatch` ★ | `dots` ★ | `grid` ★), `bodyColor`, `outline` (on), `outlineColor`, `outlineWidth` (0.5–8, 1.5).
- `fill`: `direction` (`auto` | `up` | `down` | `right` | `left` | `circular` ★ | `radial` ★), `startAngle` (−360–360, 0 = 12 o'clock), `clockwise` (on), `measure` (`level` | `area` ★), `overflow` (`show` | `cap`), `wave` (on), `waveHeight` (1–12, 3), `waveMotion` ★, `waveSpeed` (1–20 s, 4), `bubbles` ★, `grow` (on), `duration` (100–5000 ms, 900).
- `labels`: `show`, `content` (`percent` | `value` | `percentValue` | `valuePercent` | `valueTarget`), `position` (`center` | `level` | `below` | `above`), `autoSize` (on), `fontSize` (24), `color`, `bold` (on), `pctDecimals` (0–4, 0), `delta` (on), `units`, `decimals`, `prefix`, `suffix`, `catShow` (on), `catPosition` (`below` | `above`), `catSize` (12), `catColor`.
- `scale`: `min`, `max` (text), `ticks` ★ (off), `tickStep` (5–50 %, 25), `targetShow` (on), `targetValue` (text), `targetLabel`, `targetColor`, `targetStyle` (`solid` | `dashed` | `dotted`), `compareShow` ★ (on), `compareColor`.
- `layout`: `mode` (`multiples` | `pictograms` ★), `units` (2–50, 10), `unitsPerRow` (0 = auto), `columns` (0 = auto), `gap` (0–80 px, 16), `sort` (`data` | `desc` | `asc` | `name`), `maxItems` (1–200, 60).
- `play` (shared player, ★ as a whole): `start` (`last` | `first`), `speed` (100–10000 ms, 1000), `loop`, `autoPlay`, `transition`, `controls`, `position`, `ticks`, `tickLabels`, `stepButtons`, `speedButton`, `showLabel`, `labelSize` (36), `labelPosition` (`topRight`). `interaction`: `hover`, `dim` (5–80, 25).
## Editing a PBIP report (visual.json)
`visualType` is the visual GUID, `queryState` keys are the data role names, `objects` keys are the option IDs. Booleans `true` / `false`, numbers suffixed with `D`, strings and enumeration values in single quotes; colors as `{ "solid": { "color": … } }`.
```json
{
"visualType": "plumeShapeGaugeF50F8ABFCB9F44309B5AF1FB9BD1EA96",
"query": {
"queryState": {
"category": { "projections": [ { "field": { "Column": { "Expression": { "SourceRef": { "Entity": "Sales" } }, "Property": "Region" } }, "queryRef": "Sales.Region", "nativeQueryRef": "Region" } ] },
"value": { "projections": [ { "field": { "Measure": { "Expression": { "SourceRef": { "Entity": "Sales" } }, "Property": "Revenue" } }, "queryRef": "Sales.Revenue", "nativeQueryRef": "Revenue" } ] },
"target": { "projections": [ { "field": { "Measure": { "Expression": { "SourceRef": { "Entity": "Sales" } }, "Property": "Target" } }, "queryRef": "Sales.Target", "nativeQueryRef": "Target" } ] }
}
},
"objects": {
"shape": [ { "properties": { "shape": { "expr": { "Literal": { "Value": "'barrel'" } } } } } ],
"dataColors": [ { "properties": { "single": { "solid": { "color": { "expr": { "Literal": { "Value": "'#7B1E2B'" } } } } } } } ],
"license": [ { "properties": { "key": { "expr": { "Literal": { "Value": "'PLUM1.…'" } } } } } ]
}
}
```
The custom visual package must also be embedded in the report (Power BI does this when the visual is imported from the `.pbiviz` file).
## Styles and theme JSON
- `style.preset` takes one of the 20 style IDs shared by every Plume visual: `none`, `minimal`, `blackWhite`, `press`, `vintage`, `earth`, `nordic`, `executive`, `accessible`, `pastel`, `bauhaus`, `climate`, `blueprint`, `unknownPleasures`, `dark`, `neon`, `terminal`, `infographic`, `cockpit`, `hologram`. The style's first series color is the default fill; thresholds use the style's favorable / unfavorable colors; `minimal`, `unknownPleasures` and `blueprint` turn the wave off.
- `style.themeJson` (Theme JSON ★): a JSON theme as plain text (format v2 with optional `extends` and groups `colors`, `palettes`, `typography`, `shape`, `table`, `marks`, `effects`). Full reference: https://plumevisuals.com/ai/tutorials/en/themes-json.md.
## Common pitfalls
- The shape is always full: a single value with no target or maximum (the largest value is 100%); add the Target or `scale.max`.
- "—" instead of a percentage: the Value measure is blank for that category or frame.
- Empty shape with a negative label: the value is below the minimum.
- A dome above the shape: the value is above 100% (`fill.overflow` = `cap` to remove it).
- The play-axis year shows as "2,024": the column format has a thousands separator.
- Only 60 shapes: `layout.maxItems`.
- Watermark visible: a ★ shape, SVG, circular or radial fill, gradient or palette color, pattern, moving wave, bubbles, pictograms, comparison, layers, a ★ style or a theme JSON, without a valid key.
- An SVG is ignored ("Library shape used instead" in edit mode): unreadable or empty SVG; scripts, images, links and web addresses are always removed.
- The visual makes no network request: data, SVG and license key stay in the report.
## Features that do NOT exist (do not suggest them)
Filling a PNG or JPEG image (only shapes and SVG paths), loading an SVG from a web address, several values per shape other than stacked layers, liquid physics (tilt, sloshing), 3D shapes, a native gauge arc with a needle (use a circular fill instead), exporting the shape as an image.
## Data fields (wells)
Internal name = data role name (PBIP `queryState` key). Labels as shown in Power BI (English / French). ★ = premium.
| Internal name | Label (EN) | Label (FR) | Kind | Max fields | Description |
|---|---|---|---|---|---|
| `category` | Category (one shape each) | Catégorie (une forme chacune) | column | 1 | One shape per value of the field (region, product, team…). |
| `play` | Play axis ★ | Axe de lecture ★ | column | 1 | A date, a year or an ordered category: the visual moves from one value to the next (play button) |
| `value` | Value | Valeur | measure | 1 | The value that fills the shape. |
| `target` | Target (100 %) | Objectif (100 %) | measure | 1 | Value of a full shape: percentage = value / target. With Maximum as well, the target is drawn as a mark. |
| `minimum` | Minimum | Minimum | measure | 1 | Value of an empty shape (0 by default). |
| `maximum` | Maximum | Maximum | measure | 1 | Value of a full shape (otherwise the target, else automatic). |
| `comparison` | Comparison (previous period) ★ | Comparaison (période précédente) ★ | measure | 1 | Drawn as a ghost level with the change in points (previous year, budget…). |
| `layers` | Stacked layers ★ | Couches empilées ★ | measure | 8 | Several measures stacked in the shape, one color each (their sum fills the shape). |
| `shapeSvg` | SVG shape (measure) ★ | Forme SVG (mesure) ★ | measure | 1 | Text measure returning SVG markup (or a path d): one shape per category, sanitized, never loaded from the web. |
| `tooltips` | Tooltips | Infobulles | measure | several | |
| `format` | Dynamic format | Format dynamique | measure | several | Measures named card.setting (e.g. title.fontSize): drive any Format option with DAX |
Data view: categorical, categories = `category` + `play` (one row per combination), 30,000 rows per data window (more fetched automatically); measures = `value`, `target`, `minimum`, `maximum`, `comparison`, `layers`, `shapeSvg`, `tooltips`, `format`.
Capabilities: supportsHighlight, supportsKeyboardFocus, supportsMultiVisualSelection, supportsLandingPage, supportsEmptyDataView.
Network access: none (no privileges requested, no external request).
## Format pane options (165)
Columns: option ID (`object.property`), labels EN / FR as shown in Power BI, control type, PBIP literal type, default value, allowed values, notes.
### Plume Studio License / Licence Plume Studio (`license`, Format pane)
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `license.buy` | Get a license | Obtenir une licence | info | text | `plumevisuals.com` | | |
| `license.key` | License key | Clé de licence | text | text | (empty) | | Paste the key received after purchase on plumevisuals.com (starts with PLUM1.). Checked offline. |
| `license.showOwner` | Show license holder (edit mode) | Afficher le titulaire (mode édition) | toggle | bool | `true` | true / false | |
### Style (`style`, Format pane)
**Style**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `style.preset` | Style | Style | dropdown | enumeration | `none` | `none` None; `minimal` Minimal; `blackWhite` Black & White; `press` Newspaper ★; `vintage` Vintage (antique plate) ★; `earth` Earth ★; `nordic` Nordic ★; `executive` Executive ★; `accessible` Accessible (high legibility) ★; `pastel` Pastel ★; `bauhaus` Bauhaus (pop) ★; `climate` Climate ★; `blueprint` Blueprint ★; `unknownPleasures` Unknown Pleasures ★; `dark` Graphite (dark) ★; `neon` Neon ★; `terminal` Terminal (Matrix) ★; `infographic` Infographic ★; `cockpit` Cockpit (HUD) ★; `hologram` Hologram ★ | Complete look shared by all Plume visuals: colors, three palettes, fonts, frame, table header, marks and effects. Customize colors below. |
| `style.themeJson` | Theme JSON ★ | Thème JSON ★ | textarea | text | (empty) | | Paste a JSON theme: see the 'JSON themes' tutorial on plumevisuals.com |
| `style.followTheme` | Follow report theme | Suivre le thème du rapport | toggle | bool | `false` | true / false | Text, background, accent and data colors come from the Power BI report theme. |
| `style.reverse` | Reverse gradients | Inverser les dégradés | toggle | bool | `false` | true / false | |
**Custom colors / Couleurs personnalisées**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `style.customColors` | Customize colors | Personnaliser les couleurs | toggle | bool | `false` | true / false | Start from the style and pick your own colors. A color left empty keeps the style's color. |
| `style.colorBackground` | Background | Fond | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.colorText` | Text | Texte | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.colorMuted` | Secondary text | Texte secondaire | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.colorGrid` | Lines and grid | Traits et grille | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.colorAccent` | Accent | Accent | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.colorPositive` | Favorable | Favorable | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.colorNegative` | Unfavorable | Défavorable | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series1` | Series 1 | Série 1 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series2` | Series 2 | Série 2 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series3` | Series 3 | Série 3 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series4` | Series 4 | Série 4 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series5` | Series 5 | Série 5 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series6` | Series 6 | Série 6 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series7` | Series 7 | Série 7 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.series8` | Series 8 | Série 8 | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.palette` | Gradient palette | Palette du dégradé | dropdown | enumeration | `auto` | `auto` Style or theme palette; `crest` Plume (sequential); `crestDiverging` Plume (diverging); `viridis` Viridis ★; `magma` Magma ★; `inferno` Inferno ★; `cividis` Cividis (colorblind-safe) ★; `warmingStripes` Warming stripes ★; `rdYlBu` Red–Yellow–Blue ★; `brBG` Brown–Teal (drought) ★; `spectral` Spectral ★; `blues` Blues ★; `reds` Reds ★; `grays` Grays ★; `press` Press (ink and paper) ★; `nordic` Nordic ★; `earth` Earth (ochre to umber) ★; `pastel` Pastel ★; `okabeIto` Okabe-Ito (colorblind-safe) ★ | Visible when `style.customColors` = `true`. Gradient from the catalog (Viridis, Magma…). The start, middle and end colors below replace it. |
| `style.scaleLow` | Gradient: start | Dégradé : début | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.scaleMid` | Gradient: middle (diverging) | Dégradé : milieu (écarts) | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
| `style.scaleHigh` | Gradient: end | Dégradé : fin | color | fill | (empty) | hex color | Visible when `style.customColors` = `true` |
**Text / Texte**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `style.fontFamily` | Font | Police | font | formatting | `Segoe UI, wf_segoe-ui_normal, helvetica, arial, sans-serif` | | Used by every text of the visual (title, axes, labels, cells). |
**Animations**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `style.animate` | Animations | Animations | toggle | bool | `true` | true / false | Smooth transitions when data changes. Automatically disabled when the system asks to reduce motion. |
### Layout / Disposition (`layout`, Format pane)
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `layout.mode` | Presentation | Présentation | dropdown | enumeration | `multiples` | `multiples` One shape per category; `pictograms` Pictograms (n shapes = 100%) ★ | |
| `layout.units` | Number of pictograms | Nombre de pictogrammes | number | integer | `10` | 2 to 50 | Visible when `layout.mode` = `pictograms` |
| `layout.unitsPerRow` | Pictograms per row (0 = auto) | Pictogrammes par ligne (0 = auto) | number | integer | `0` | 0 to 50 | Visible when `layout.mode` = `pictograms` |
| `layout.columns` | Columns (0 = auto) | Colonnes (0 = auto) | number | integer | `0` | 0 to 30 | |
| `layout.gap` | Gap between shapes (px) | Espace entre les formes (px) | number | integer | `16` | 0 to 80 | |
| `layout.sort` | Order | Ordre | dropdown | enumeration | `data` | `data` Data order; `desc` Percentage descending; `asc` Percentage ascending; `name` Alphabetical | |
| `layout.maxItems` | Shapes at most | Formes au plus | number | integer | `60` | 1 to 200 | 60 by default, 200 at most. Beyond, a note under the shapes says how many are shown. |
### Data colors / Couleurs des données (`dataColors`, Format pane)
Per-item card: Power BI shows it once per series, category, column or KPI (an "Apply settings to" list where relevant). In PBIP `visual.json`, each entry of `objects.dataColors` carries a `selector` (`metadata` = the field's queryRef, or `data` for a category value); an entry without a selector applies to all items.
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `dataColors.mode` | Coloring | Coloration | dropdown | enumeration | `single` | `single` Single color; `category` One color per category; `thresholds` By thresholds (unfavorable, middle, favorable) ★; `gradient` Gradient along the fill ★; `scale` Color by percentage (palette) ★ | |
| `dataColors.single` | Color | Couleur | color | fill | (empty) | hex color | |
| `dataColors.fill` | Color | Couleur | color | fill | (empty) | hex color | |
| `dataColors.color2` | Gradient end (empty = accent) | Fin du dégradé (vide = accent) | color | fill | (empty) | hex color | |
| `dataColors.color3` | Gradient middle (optional) | Milieu du dégradé (optionnel) | color | fill | (empty) | hex color | |
| `dataColors.t1` | Threshold 1 (%) | Seuil 1 (%) | number | numeric | `50` | -1000 to 1000 | |
| `dataColors.t2` | Threshold 2 (%) | Seuil 2 (%) | number | numeric | `80` | -1000 to 1000 | |
| `dataColors.cLow` | Below threshold 1 | Sous le seuil 1 | color | fill | `#C0392B` | hex color | |
| `dataColors.cMid` | Between thresholds | Entre les seuils | color | fill | `#B26B00` | hex color | |
| `dataColors.cHigh` | Above threshold 2 | Au-dessus du seuil 2 | color | fill | `#2E7D4F` | hex color | |
| `dataColors.lowerBetter` | Lower is better (swaps the colors) | Plus bas = mieux (inverse les couleurs) | toggle | bool | `false` | true / false | |
### Shape / Forme (`shape`, Format pane)
**Shape / Forme**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `shape.source` | Source | Source | dropdown | enumeration | `library` | `library` Plume library (153 shapes); `svg` Pasted SVG ★ | The "SVG shape (measure)" field wins when it is filled (one shape per category). |
| `shape.shape` | Shape | Forme | dropdown | enumeration | `drop` | `barrel` Containers and gauges · Barrel; `bottle` Containers and gauges · Bottle; `wineGlass` Containers and gauges · Wine glass; `glass` Containers and gauges · Glass; `mug` Containers and gauges · Mug ★; `jar` Containers and gauges · Jar ★; `bucket` Containers and gauges · Bucket ★; `battery` Containers and gauges · Battery; `batteryVertical` Containers and gauges · Vertical battery; `thermometer` Containers and gauges · Thermometer; `testTube` Containers and gauges · Test tube ★; `tank` Containers and gauges · Tank ★; `funnel` Containers and gauges · Funnel ★; `hourglass` Containers and gauges · Hourglass ★; `bag` Containers and gauges · Bag ★; `piggyBank` Containers and gauges · Piggy bank ★; `flask` Containers and gauges · Flask ★; `beaker` Containers and gauges · Beaker ★; `can` Containers and gauges · Can ★; `coffeeCup` Containers and gauges · Coffee cup ★; `vase` Containers and gauges · Vase ★; `milkCarton` Containers and gauges · Milk carton ★; `circle` Basic · Circle; `square` Basic · Square; `roundedSquare` Basic · Rounded square; `rectangle` Basic · Rectangle; `triangle` Basic · Triangle; `diamond` Basic · Diamond; `hexagon` Basic · Hexagon; `star` Basic · Star; `heart` Basic · Heart; `ellipse` Basic · Ellipse ★; `pentagon` Basic · Pentagon ★; `octagon` Basic · Octagon ★; `rightTriangle` Basic · Right triangle ★; `parallelogram` Basic · Parallelogram ★; `trapezoid` Basic · Trapezoid ★; `ring` Basic · Ring ★; `semicircle` Basic · Semicircle ★; `arch` Basic · Arch ★; `capsule` Basic · Pill ★; `star6` Basic · Six-pointed star ★; `seal` Basic · Seal ★; `cross` Basic · Cross ★; `arrow` Arrows and symbols · Arrow; `arrowUp` Arrows and symbols · Arrow up ★; `arrowDown` Arrows and symbols · Arrow down ★; `arrowLeft` Arrows and symbols · Arrow left ★; `doubleArrow` Arrows and symbols · Double arrow ★; `chevron` Arrows and symbols · Chevron ★; `check` Arrows and symbols · Check mark ★; `close` Arrows and symbols · Close (X) ★; `plus` Arrows and symbols · Plus ★; `minus` Arrows and symbols · Minus ★; `warning` Arrows and symbols · Warning ★; `info` Arrows and symbols · Information ★; `playButton` Arrows and symbols · Play button ★; `bubble` Arrows and symbols · Speech bubble; `thought` Arrows and symbols · Thought bubble ★; `flag` Arrows and symbols · Flag ★; `bookmark` Arrows and symbols · Bookmark ★; `tag` Arrows and symbols · Tag ★; `bolt` Arrows and symbols · Lightning bolt ★; `shield` Arrows and symbols · Shield ★; `award` Arrows and symbols · Award ★; `puzzle` Arrows and symbols · Puzzle piece ★; `gear` Arrows and symbols · Gear ★; `lock` Arrows and symbols · Lock ★; `key` Arrows and symbols · Key ★; `bell` Arrows and symbols · Bell ★; `eye` Arrows and symbols · Eye ★; `cloud` Nature and weather · Cloud; `drop` Nature and weather · Drop; `sun` Nature and weather · Sun ★; `moon` Nature and weather · Moon ★; `snowflake` Nature and weather · Snowflake ★; `leaf` Nature and weather · Leaf ★; `pine` Nature and weather · Pine tree ★; `tree` Nature and weather · Tree ★; `flower` Nature and weather · Flower ★; `mountain` Nature and weather · Mountain ★; `wave` Nature and weather · Wave ★; `flame` Nature and weather · Flame ★; `umbrella` Nature and weather · Umbrella ★; `apple` Nature and weather · Apple ★; `fish` Nature and weather · Fish ★; `paw` Nature and weather · Paw print ★; `rain` Nature and weather · Rain ★; `sprout` Nature and weather · Sprout ★; `person` People · Person; `man` People · Man ★; `woman` People · Woman ★; `child` People · Child ★; `people` People · Group of people ★; `bust` People · User bust ★; `house` Objects and buildings · House; `building` Objects and buildings · Office building ★; `factory` Objects and buildings · Factory ★; `castle` Objects and buildings · Castle ★; `shop` Objects and buildings · Shop ★; `bank` Objects and buildings · Bank ★; `hospital` Objects and buildings · Hospital ★; `book` Objects and buildings · Book ★; `envelope` Objects and buildings · Envelope ★; `phone` Objects and buildings · Phone ★; `laptop` Objects and buildings · Laptop ★; `monitor` Objects and buildings · Monitor ★; `gift` Objects and buildings · Gift ★; `clock` Objects and buildings · Clock ★; `calendar` Objects and buildings · Calendar ★; `pencil` Objects and buildings · Pencil ★; `lightbulb` Objects and buildings · Light bulb ★; `cup` Objects and buildings · Trophy ★; `crown` Objects and buildings · Crown ★; `trashCan` Objects and buildings · Trash can ★; `france` Maps and places · Metropolitan France ★; `africa` Maps and places · Africa ★; `australia` Maps and places · Australia ★; `southAmerica` Maps and places · South America ★; `pin` Maps and places · Map pin ★; `globe` Maps and places · Globe ★; `foldedMap` Maps and places · Folded map ★; `compass` Maps and places · Compass ★; `city` Maps and places · City skyline ★; `target` Business · Target ★; `barChart` Business · Bar chart ★; `pieChart` Business · Pie chart ★; `trendUp` Business · Trend up ★; `coin` Business · Coin ★; `banknote` Business · Banknote ★; `wallet` Business · Wallet ★; `creditCard` Business · Credit card ★; `cart` Business · Shopping cart ★; `briefcase` Business · Briefcase ★; `percent` Business · Percent ★; `podium` Business · Podium ★; `megaphone` Business · Megaphone ★; `gem` Business · Gem ★; `medal` Business · Medal ★; `clipboard` Business · Clipboard ★; `handshake` Business · Handshake ★; `car` Transport · Car ★; `truck` Transport · Truck ★; `bus` Transport · Bus ★; `bicycle` Transport · Bicycle ★; `plane` Transport · Plane ★; `boat` Transport · Sailboat ★; `train` Transport · Train ★; `rocket` Transport · Rocket ★; `helicopter` Transport · Helicopter ★; `ship` Transport · Cargo ship ★; `fuel` Transport · Fuel pump ★; `scooter` Transport · Scooter ★ | Visible when `shape.source` = `library`. Containers (barrel, wine glass, thermometer…) only fill their inside. |
| `shape.svg` | SVG code | Code SVG | textarea | text | (empty) | | Visible when `shape.source` = `svg`. <svg> markup, data URI or a bare d attribute. Sanitized (no script, no image, no web address). |
| `shape.svgPaint` | SVG colors | Couleurs du SVG | dropdown | enumeration | `fill` | `fill` Fill color; `original` Original colors (logo) ★ | Original colors: the filled part keeps the logo colors, the empty part is grayed out. |
| `shape.fillArea` | Filled area | Zone remplie | dropdown | enumeration | `inner` | `inner` Inside of the container; `whole` Whole shape | |
| `shape.fit` | Fit | Cadrage | dropdown | enumeration | `contain` | `contain` Keep proportions; `stretch` Stretched | |
**Look / Apparence**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `shape.emptyColor` | Empty part (empty = tint of the fill) | Partie vide (vide = teinte du remplissage) | color | fill | (empty) | hex color | |
| `shape.emptyOpacity` | Empty part opacity (%) | Opacité de la partie vide (%) | number | integer | `100` | 0 to 100 | |
| `shape.emptyPattern` | Empty part pattern | Motif de la partie vide | dropdown | enumeration | `none` | `none` None; `hatch` Hatching ★; `dots` Dots ★; `grid` Grid ★ | |
| `shape.bodyColor` | Container (empty = style gray) | Récipient (vide = gris du style) | color | fill | (empty) | hex color | |
| `shape.outline` | Outline | Contour | toggle | bool | `true` | true / false | |
| `shape.outlineColor` | Outline color (empty = fill) | Couleur du contour (vide = remplissage) | color | fill | (empty) | hex color | Visible when `shape.outline` = `true` |
| `shape.outlineWidth` | Outline width | Épaisseur du contour | number | numeric | `1.5` | 0.5 to 8 | Visible when `shape.outline` = `true` |
### Fill / Remplissage (`fill`, Format pane)
**Direction / Sens**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `fill.direction` | Fill direction | Sens du remplissage | dropdown | enumeration | `auto` | `auto` From the shape (bottom → top; battery: left → right); `up` Vertical, bottom → top; `down` Vertical, top → bottom; `right` Horizontal, left → right; `left` Horizontal, right → left; `circular` Circular (start angle) ★; `radial` Radial (from the center) ★ | |
| `fill.startAngle` | Start angle (°, 0 = 12 o'clock) | Angle de départ (°, 0 = midi) | number | integer | `0` | -360 to 360 | Visible when `fill.direction` = `circular` |
| `fill.clockwise` | Clockwise | Sens des aiguilles d'une montre | toggle | bool | `true` | true / false | Visible when `fill.direction` = `circular` |
| `fill.measure` | The percentage sets | Le pourcentage donne | dropdown | enumeration | `level` | `level` The level height; `area` The filled area (exact) ★ | Exact area: 25% really fills a quarter of the shape's surface (round bottom of a drop, neck of a bottle…). |
| `fill.overflow` | Above 100% | Au-delà de 100 % | dropdown | enumeration | `show` | `show` Visible overflow; `cap` Capped at 100% | |
**Surface and animation / Surface et animation**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `fill.wave` | Wavy surface | Surface en vague | toggle | bool | `true` | true / false | |
| `fill.waveHeight` | Wave height | Hauteur de la vague | number | integer | `3` | 1 to 12 | Visible when `fill.wave` = `true` |
| `fill.waveMotion` | Moving wave ★ | Vague animée ★ | toggle | bool | `false` | true / false | Visible when `fill.wave` = `true`. Never when animations are reduced (Style › Animations or the system). |
| `fill.waveSpeed` | Wave period (s) | Durée d'une vague (s) | number | integer | `4` | 1 to 20 | Visible when `fill.wave` = `true` |
| `fill.bubbles` | Bubbles ★ | Bulles ★ | toggle | bool | `false` | true / false | |
| `fill.grow` | Animated fill on opening | Remplissage animé à l'ouverture | toggle | bool | `true` | true / false | When data changes (not on resize). Turned off by Style › Animations. |
| `fill.duration` | Fill duration (ms) | Durée du remplissage (ms) | number | integer | `900` | 100 to 5000 | Visible when `fill.grow` = `true` |
### Data labels / Étiquettes de données (`labels`, Format pane)
The card header toggle is `labels.show`.
**Label / Étiquette**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `labels.show` | Show | Afficher | toggle | bool | `true` | true / false | |
| `labels.content` | Content | Contenu | dropdown | enumeration | `percent` | `percent` Percentage; `value` Value; `percentValue` Percentage and value; `valuePercent` Value and percentage; `valueTarget` Value / target | |
| `labels.position` | Position | Position | dropdown | enumeration | `center` | `center` Center of the shape; `level` At the fill level; `below` Below the shape; `above` Above the shape | |
| `labels.autoSize` | Automatic size | Taille automatique | toggle | bool | `true` | true / false | |
| `labels.fontSize` | Text size | Taille du texte | number | formatting | `24` | 6 to 120 | Visible when `labels.autoSize` = `false` |
| `labels.color` | Color (empty = automatic) | Couleur (vide = automatique) | color | fill | (empty) | hex color | Automatic: style text, light over the filled part (two colors). |
| `labels.bold` | Bold | Gras | toggle | bool | `true` | true / false | |
| `labels.pctDecimals` | Percentage decimals | Décimales du pourcentage | number | integer | `0` | 0 to 4 | |
| `labels.delta` | Change vs comparison (▲▼ points) | Écart à la comparaison (▲▼ points) | toggle | bool | `true` | true / false | |
**Numbers / Nombres**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `labels.units` | Display units | Unités d'affichage | dropdown | enumeration | `auto` | `auto` Auto; `none` None; `k` Thousands; `m` Millions; `b` Billions | |
| `labels.decimals` | Decimals (-1 = auto) | Décimales (-1 = auto) | number | integer | `-1` | -1 to 6 | |
| `labels.prefix` | Prefix | Préfixe | text | text | (empty) | | |
| `labels.suffix` | Suffix (e.g. €) | Suffixe (ex. €) | text | text | (empty) | | |
**Category names / Nom des catégories**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `labels.catShow` | Show | Afficher | toggle | bool | `true` | true / false | |
| `labels.catPosition` | Position | Position | dropdown | enumeration | `below` | `below` Below the shape; `above` Above the shape | Visible when `labels.catShow` = `true` |
| `labels.catSize` | Text size | Taille du texte | number | formatting | `12` | 6 to 40 | Visible when `labels.catShow` = `true` |
| `labels.catColor` | Color (empty = secondary) | Couleur (vide = secondaire) | color | fill | (empty) | hex color | Visible when `labels.catShow` = `true` |
### Scale and target / Échelle et objectif (`scale`, Format pane)
**Range / Échelle**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `scale.min` | Minimum (empty shape) | Minimum (forme vide) | text | text | (empty) | | The Minimum field wins. |
| `scale.max` | Maximum (full shape) | Maximum (forme pleine) | text | text | (empty) | | The Maximum field, then the Target field win. Automatic: 1 when values are percentages (0 to 1), else the largest value. |
| `scale.ticks` | Tick marks ★ | Graduations ★ | toggle | bool | `false` | true / false | Along vertical and horizontal directions (not circular, radial or pictograms). |
| `scale.tickStep` | Tick step (%) | Pas des graduations (%) | number | integer | `25` | 5 to 50 | Visible when `scale.ticks` = `true` |
| `scale.minMax` | Minimum and maximum labels | Étiquettes du minimum et du maximum | toggle | bool | `false` | true / false | Values of the empty and the full shape, at the ends of the scale (like the data labels of the native gauge). No effect with tick marks. |
**Target / Objectif**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `scale.targetShow` | Target mark | Trait d'objectif | toggle | bool | `true` | true / false | With the Target field and a maximum (field or value), or a fixed value below. |
| `scale.targetValue` | Fixed target (value) | Objectif fixe (valeur) | text | text | (empty) | | Visible when `scale.targetShow` = `true` |
| `scale.targetLabel` | Label | Libellé | text | text | (empty) | | Visible when `scale.targetShow` = `true` |
| `scale.targetColor` | Color (empty = text) | Couleur (vide = texte) | color | fill | (empty) | hex color | Visible when `scale.targetShow` = `true` |
| `scale.targetStyle` | Line style | Style du trait | dropdown | enumeration | `dashed` | `solid` Solid; `dashed` Dashed; `dotted` Dotted | Visible when `scale.targetShow` = `true` |
**Comparison / Comparaison**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `scale.compareShow` | Ghost level of the comparison ★ | Niveau fantôme de la comparaison ★ | toggle | bool | `true` | true / false | With the Comparison field (previous period, budget…). |
| `scale.compareColor` | Color (empty = secondary) | Couleur (vide = secondaire) | color | fill | (empty) | hex color | Visible when `scale.compareShow` = `true` |
### Legend / Légende (`legend`, Format pane)
The card header toggle is `legend.show`.
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `legend.show` | Show | Afficher | toggle | bool | `true` | true / false | Shown when the chart has several series. |
| `legend.position` | Position | Position | dropdown | enumeration | `top` | `top` Top; `bottom` Bottom; `right` Right; `left` Left | |
| `legend.align` | Alignment | Alignement | dropdown | enumeration | `left` | `left` Start; `center` Center; `right` End | Visible when `legend.position` = `top` or `bottom` |
| `legend.showTitle` | Legend title | Titre de la légende | toggle | bool | `false` | true / false | |
| `legend.titleText` | Title text | Texte du titre | text | text | (empty) | | Visible when `legend.showTitle` = `true` |
| `legend.fontSize` | Size | Taille | number | formatting | `9` | 6 to 24 | |
| `legend.color` | Color (empty = secondary text) | Couleur (vide = texte secondaire) | color | fill | (empty) | hex color | |
| `legend.interactive` | Click = select the series | Clic = sélectionner la série | toggle | bool | `true` | true / false | |
### Playback ★ / Lecture ★ (`play`, Format pane)
This card controls premium features (★): they work without a license key but show the watermark while in use.
**Playback / Lecture**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `play.start` | Frame shown on opening | Image affichée à l'ouverture | dropdown | enumeration | `last` | `last` The last one (most recent); `first` The first one | |
| `play.speed` | Duration of a frame (ms) | Durée d'une image (ms) | number | integer | `1000` | 100 to 10000 | At speed ×1; the speed button of the play bar multiplies it (×0.5 to ×4) for the session. |
| `play.loop` | Loop | Lecture en boucle | toggle | bool | `false` | true / false | |
| `play.autoPlay` | Play automatically on opening | Lecture automatique à l'ouverture | toggle | bool | `false` | true / false | Once, from the first frame. Not when animations are reduced (Style › Animations or the system) nor on a dashboard tile. |
| `play.transition` | Animated transitions | Transitions animées | toggle | bool | `true` | true / false | Values, positions and colors move smoothly from one frame to the next. |
**Play bar / Barre de lecture**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `play.controls` | Play bar | Barre de lecture | toggle | bool | `true` | true / false | |
| `play.position` | Bar position | Position de la barre | dropdown | enumeration | `bottom` | `bottom` Bottom; `top` Top | Visible when `play.controls` = `true` |
| `play.ticks` | Tick marks | Graduations | dropdown | enumeration | `auto` | `auto` Automatic; `all` Every frame; `none` None | Visible when `play.controls` = `true` |
| `play.tickLabels` | Tick labels | Étiquettes des graduations | toggle | bool | `true` | true / false | Visible when `play.controls` = `true` |
| `play.stepButtons` | Start and end buttons | Boutons début et fin | toggle | bool | `true` | true / false | Visible when `play.controls` = `true` |
| `play.speedButton` | Speed button | Bouton de vitesse | toggle | bool | `true` | true / false | Visible when `play.controls` = `true` |
**Large value / Valeur en grand**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `play.showLabel` | Current value in large type | Valeur en cours en grand | toggle | bool | `true` | true / false | |
| `play.labelSize` | Large value size | Taille de la valeur en grand | number | formatting | `36` | 12 to 160 | Visible when `play.showLabel` = `true` |
| `play.labelPosition` | Large value position | Position de la valeur en grand | dropdown | enumeration | `topRight` | `bottomRight` Bottom right; `topRight` Top right; `topLeft` Top left; `bottomLeft` Bottom left; `center` Center | Visible when `play.showLabel` = `true` |
### Interactions (`interaction`, Format pane)
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `interaction.hover` | Highlight on hover | Mettre en avant au survol | toggle | bool | `true` | true / false | |
| `interaction.dim` | Dimmed items opacity (%) | Opacité des éléments estompés (%) | number | integer | `25` | 5 to 80 | |
### Tooltips / Infobulles (`tooltip`, Format pane)
The card header toggle is `tooltip.show`.
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `tooltip.show` | Show | Afficher | toggle | bool | `true` | true / false | Tooltip on hover (with the fields of the "Tooltips" well and report page tooltips). |
### Title / Titre (`title`, Format pane)
The card header toggle is `title.show`.
**Title / Titre**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `title.show` | Show | Afficher | toggle | bool | `true` | true / false | |
| `title.text` | Text | Texte | text | text | (empty) | | Leave empty for an automatic title built from the fields. |
| `title.fontSize` | Size | Taille | number | formatting | `14` | 7 to 40 | |
| `title.bold` | Bold | Gras | toggle | bool | `true` | true / false | |
| `title.italic` | Italic | Italique | toggle | bool | `false` | true / false | |
| `title.underline` | Underline | Souligné | toggle | bool | `false` | true / false | |
| `title.color` | Color (empty = text) | Couleur (vide = texte) | color | fill | (empty) | hex color | |
| `title.bgColor` | Background color | Couleur d'arrière-plan | color | fill | (empty) | hex color | |
| `title.align` | Horizontal alignment | Alignement horizontal | dropdown | enumeration | `left` | `left` Left; `center` Center; `right` Right | |
| `title.wrap` | Text wrap | Retour automatique à la ligne | toggle | bool | `true` | true / false | |
**Subtitle / Sous-titre**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `title.subtitle` | Subtitle | Sous-titre | text | text | (empty) | | Several lines allowed: type \n to go to the next line. |
| `title.subFontSize` | Size | Taille | number | formatting | `11` | 7 to 30 | Visible when `title.subtitle` = |
| `title.subColor` | Color (empty = secondary text) | Couleur (vide = texte secondaire) | color | fill | (empty) | hex color | Visible when `title.subtitle` = |
| `title.subItalic` | Italic | Italique | toggle | bool | `false` | true / false | Visible when `title.subtitle` = |
**Divider / Séparateur**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `title.divider` | Show divider | Afficher le séparateur | toggle | bool | `false` | true / false | |
| `title.dividerColor` | Color (empty = lines) | Couleur (vide = traits) | color | fill | (empty) | hex color | Visible when `title.divider` = `true` |
| `title.dividerStyle` | Line style | Style de trait | dropdown | enumeration | `solid` | `solid` Solid; `dashed` Dashed; `dotted` Dotted | Visible when `title.divider` = `true` |
| `title.dividerWidth` | Width | Épaisseur | number | integer | `1` | 1 to 6 | Visible when `title.divider` = `true` |
**Spacing / Espacement**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `title.spaceBelow` | Space below the title (px) | Espace sous le titre (px) | number | integer | `4` | 0 to 40 | |
### Source note / Note de source (`source`, Format pane)
The card header toggle is `source.show`.
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `source.show` | Show | Afficher | toggle | bool | `false` | true / false | |
| `source.text` | Text | Texte | text | text | (empty) | | |
| `source.fontSize` | Size | Taille | number | formatting | `9` | 6 to 20 | |
| `source.italic` | Italic | Italique | toggle | bool | `false` | true / false | |
| `source.color` | Color (empty = secondary text) | Couleur (vide = texte secondaire) | color | fill | (empty) | hex color | |
| `source.align` | Alignment | Alignement | dropdown | enumeration | `left` | `left` Left; `center` Center; `right` Right | |
### Frame / Cadre (`container`, Format pane)
**Background / Arrière-plan**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `container.bgShow` | Background | Arrière-plan | toggle | bool | `false` | true / false | |
| `container.bgColor` | Color | Couleur | color | fill | `#FFFFFF` | hex color | Visible when `container.bgShow` = `true` |
| `container.bgColor2` | Gradient end (optional) | Fin du dégradé (optionnel) | color | fill | (empty) | hex color | Visible when `container.bgShow` = `true` |
| `container.bgTransparency` | Transparency (%) | Transparence (%) | slider | numeric | `0` | 0 to 100 | Visible when `container.bgShow` = `true` |
**Border / Bordure**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `container.border` | Border | Bordure | toggle | bool | `false` | true / false | |
| `container.borderColor` | Color (empty = lines) | Couleur (vide = traits) | color | fill | (empty) | hex color | Visible when `container.border` = `true` |
| `container.borderWidth` | Width | Épaisseur | number | integer | `1` | 0 to 6 | Visible when `container.border` = `true` |
| `container.radius` | Rounded corners | Coins arrondis | number | integer | `8` | 0 to 24 | |
**Shadow / Ombre**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `container.shadow` | Shadow | Ombre | toggle | bool | `false` | true / false | |
| `container.shadowColor` | Color (empty = soft) | Couleur (vide = douce) | color | fill | (empty) | hex color | Visible when `container.shadow` = `true` |
| `container.shadowSize` | Blur (px) | Flou (px) | number | integer | `12` | 0 to 40 | Visible when `container.shadow` = `true` |
**Spacing / Marges**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `container.padding` | Inner padding | Marge intérieure | number | integer | `8` | 0 to 40 | |
### Language and numbers / Langue et nombres (`texts`, Format pane)
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `texts.language` | Interface language | Langue de l'interface | dropdown | enumeration | `auto` | `auto` Same as Power BI; `fr` French; `en` English | |
| `texts.numberLocale` | Number format locale (e.g. en-GB) | Format des nombres (ex. fr-FR) | text | text | (empty) | | Thousands and decimal separators. Empty: same as Power BI. |