Gaufre et pictogrammes pour Power BI Waffle Plume
Un pourcentage, des parts ou un effectif en cases ou en pictogrammes, avec la forme de votre choix.
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 gaufre. Waffle Plume transforme un taux, une répartition ou un effectif en une grille de cases : 43 % colorent 43 cases sur 100, chaque canal colore sa part d'une même gaufre, chaque personne vaut 2 salariés. Deux modes gratuits (pourcentage, parts du total), des pourcentages justes grâce au champ Total, une grille de 1 à 50 lignes et colonnes, quatre ordres de remplissage, 22 formes gratuites et une forme différente par catégorie. En premium : l'axe de lecture (les cases se remplissent ou se vident d'une année à l'autre), le mode Unités (pictogrammes, 1 élément = N unités), le serpentin, 131 formes de plus, votre propre SVG ou une icône SVG par catégorie donnée par une mesure, le dernier élément rempli en partie, l'objectif en cases cerclées et les petits multiples.
Cas d'usage
- Taux de satisfaction, d'avancement ou de couverture d'un objectif, en 100 cases
- Répartition du chiffre d'affaires par canal dans une seule gaufre
- Effectifs par service ou par contrat en pictogrammes (une personne = N salariés)
- Avancement d'un projet : terminé, en cours, à faire
- Parts des canaux année par année, rejouées avec l'axe de lecture
GratuitInclus gratuitement
- Deux modes : pourcentage (une gaufre par catégorie) et parts du total (une gaufre partagée)
- Pourcentages justes : valeur ÷ Total, mesures en %, part de la somme ; arrondi sans perdre de case
- Grille de 1 à 50 lignes et colonnes, quatre ordres de remplissage (lignes ou colonnes, depuis le haut ou le bas)
- 22 formes gratuites (carré, cercle, cœur, goutte, personne, maison…) et une forme par catégorie
- Valeur en grand, légende avec %, apparition case par case
- Étiquettes des catégories (afficher, taille, couleur, largeur) ; gaufre unique en pourcentage avec le grand chiffre
- Infobulles, filtre croisé, surbrillance dans les cases, clavier, menu contextuel ; formats dynamiques (fx et DAX)
PremiumFonctions premium
- Axe de lecture : lecture ▶, curseur, vitesse, boucle ; les cases se remplissent ou se vident d'une période à l'autre
- Mode Unités : pictogrammes, 1 élément = N unités ; ordres en serpentin ; valeur en grand « pourcentage et valeur » ou « valeur sur total »
- 131 formes de plus (personnes, transports, business, nature, bâtiments…)
- Votre SVG collé, ou une icône SVG par catégorie donnée par une mesure DAX (nettoyée, jamais chargée depuis le web)
- Dernier élément rempli en partie (fraction exacte)
- Objectif : case cerclée, cases manquantes en tirets
- Petits multiples : une gaufre par région ou par année
- Styles communs au catalogue (Néon, Journal, Nordique…), 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 gaufre de 100 cases (waffle chart) avec vos formes dans Power BIPrise en main de Waffle Plume : afficher un pourcentage en 100 cases, partager une gaufre entre plusieurs catégories, choisir la forme des éléments et lire le résultat.
- Cas pratiquesIntermédiaire5 min de lectureWaffle Plume : pourcentages justes, pictogrammes, objectif et SVGCas pratiques de Waffle Plume : un taux calculé sur un total, une gaufre par catégorie, des pictogrammes, l'évolution année par année, un objectif, vos propres icônes SVG et des petits multiples.
- Champs et réglagesAvancé20 min de lectureWaffle Plume : tous les champs et réglages du volet FormatRéférence complète de Waffle Plume : les huit champs, chaque réglage des cartes Couleurs des données, Disposition, Éléments, Valeur en grand, Objectif, Légende, Lecture et Interactions.
- 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 | Les parts de la gaufre (canal, contrat…) | Facultatif |
| Valeur | Un taux, ou un montant (1 à 6 mesures) | Obligatoire |
| Total (100 %) | Ce qui remplit toute la gaufre : % = valeur ÷ total | Facultatif |
| Objectif | Case de l'objectif cerclée, cases manquantes en tirets | FacultatifPremium |
| Petits multiples | Une gaufre par région, par année… | FacultatifPremium |
| Icône SVG | Mesure texte : un SVG par catégorie | FacultatifPremium |
| Axe de lecture | Année, mois ou date : les cases se remplissent ou se vident | 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 Waffle 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/waffle.md)# Waffle 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 Waffle 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/waffle (French: https://plumevisuals.com/fr/visuels/waffle)
- Summary: A percentage, parts or a headcount as cells or pictograms, with the shape of your choice.
- Power BI visual GUID (`visualType`): `plumeWaffleC707BF468E704234BE22DABB0FE758B2`
- 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
Waffle Plume (identifier `waffle`) is a Power BI custom visual (version 1.1.0.0, installed from its `.pbiviz` file; AppSource submission in preparation) that draws **waffle charts and pictogram charts**: a grid of cells where each cell is a share of a whole, or a number of units. Power BI Desktop has no native waffle chart.
**New in version 1.1.0.0 (30/10/2026):** Free native-parity additions: adjustable category labels (row names) and a large value in Shares mode.
- **Three modes** (`layout.mode`): `percent` (one waffle per category or per measure, the percentage written in large type next to it), `parts` (every category colors its share of one waffle; rounding by largest remainder so the total is always the full grid), `units` ★ (one row of cells per category, 1 cell = N units, isotype style, with a key "= N"). `auto` (default) = `parts` with a Category or several measures, else `percent`.
- **Correct percentages** (`layout.scale`, default `auto`): with the Total field, value ÷ total; a measure formatted as % or values between 0 and 1 are read as ratios; several categories give their share of the sum; a single value ≤ 100 is read in points; otherwise the largest value = 100%. Explicit choices: `share`, `ratio`, `points`, `max`. Above 100%: the waffle is full, the headline shows the real value, the tooltip says "exceeds 100%".
- **Grid**: 1 to 50 rows and columns (10 × 10 by default), six fill orders (`rows`, `rowsBottom`, `columns`, `columnsBottom`, and the premium `snake` ★, `snakeBottom` ★), spacing, corner radius.
- **Shapes** (Savi's idea): 153 shapes of the Plume library (22 free), one shape per category in the Data colors card, a pasted SVG ★ or one SVG icon per category returned by a measure ★. SVG is sanitized (allow-list) and never loaded from the web.
- **Play axis ★** (premium since 10/22/2026, shared Plume player): one frame per value of the Play axis field; from one frame to the next the cells that change switch one by one in fill order (they fill, or empty in reverse order) and the headline counts; grid size and colors are computed over all frames.
- Cell-by-cell reveal (or fade) when data changes, never with reduced motion or on a dashboard tile.
## 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, "Follow report theme" and all custom colors are **free**; every other `style.preset`, the other gradient palettes and `style.themeJson` are **premium**.
- Free in Waffle Plume: the `percent` and `parts` modes (and `auto`), every scale rule, Total field, grid size, the four fill orders `rows`, `rowsBottom`, `columns`, `columnsBottom`, spacing, radius, the **22 free shapes** (`circle`, `square`, `roundedSquare`, `rectangle`, `triangle`, `diamond`, `hexagon`, `star`, `heart`, `cloud`, `drop`, `bubble`, `arrow`, `person`, `house`, `barrel`, `bottle`, `glass`, `wineGlass`, `thermometer`, `battery`, `batteryVertical`) also per category, rounding (`round`, `floor`), empty cells, headline (`pct` or `value`), legend, sorting, Others grouping, one waffle per category or per measure, reveal, tooltips, selection, highlighting.
- Premium features of Waffle Plume:
- the `play` role ("Play axis ★", « Axe de lecture ★ ») as soon as it holds a value, and its "Playback ★" card (rebalancing of 10/22/2026);
- `layout.mode` = `units` (Units mode, pictograms);
- `layout.order` = `snake` or `snakeBottom`;
- `headline.content` = `pctValue` or `valueTotal`, when the headline is shown in Percentage mode (no effect, so no watermark, in Parts mode);
- any other shape (131), in `cells.shape` or per category (`dataColors.itemShape`);
- `cells.shape` = `svg` with a valid `cells.svg`; the `icon` role ("SVG icon ★") with a valid SVG;
- `cells.partial` = `partial` (partly filled last cell, a cell can be shared by two categories);
- the `target` role ("Target ★") while `target.show` is on;
- the `multiples` role ("Small multiples ★").
- 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 `waffle` 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 year, region… when those fields are used), with measures.
| Category (`category`) | Value (`value`) | Total (`total`) |
|---|---|---|
| Store | 420,000 | 1,000,000 |
| Web | 310,000 | 1,000,000 |
- **Category** (`category`, « Catégorie », one column): the parts. Beyond `layout.maxItems` (10) the smallest are grouped in "Others" (`layout.othersLabel`).
- **Value** (`value`, « Valeur », 1 to 6 measures): without Category, each measure is a part (e.g. Done, In progress, To do); with Category and several measures, one waffle per measure. Without any measure, rows are counted. Negative values count as zero (warning icon).
- **Total (100%)** (`total`, « Total (100 %) », one measure): denominator; in `parts` mode the largest total of a waffle is used.
- **Target ★** (`target`, « Objectif ★ », one measure, same unit as Value): target cell circled, missing cells dashed (`target.style` = `ring` | `marker`), "Target: 60%" under the headline (`target.label`).
- **Small multiples ★** (`multiples`, « Petits multiples ★ », one column): one waffle per value (48 at most), each with the parts of Category; selection = category + panel.
- **SVG icon ★** (`icon`, « Icône SVG ★ », one text measure): an SVG (markup, data URI or path `d`) per category.
- **Play axis ★** (`play`, « Axe de lecture ★ », one column): year, date or ordered text; premium (watermark without a key).
- **Tooltips** (`tooltips`, up to 5 measures) and **Dynamic format** (`format`, see below).
- Volume of data: windows of 30,000 rows, more fetched with `fetchMoreData` up to 1,000,000 rows; 100,004 rows render in less than 3 seconds (automated test).
## DAX recipes
```dax
// A rate: formatted as a percentage, it fills that many cells out of 100
Success rate = DIVIDE ( [Passed], [Enrolled] )
// Share of one category against all categories
Web share = DIVIDE ( CALCULATE ( [Revenue], Sales[Channel] = "Web" ), CALCULATE ( [Revenue], ALL ( Sales[Channel] ) ) )
// Three parts of a project (three measures in Value, nothing in Category)
Done = DIVIDE ( CALCULATE ( COUNTROWS ( Tasks ), Tasks[Status] = "Done" ), COUNTROWS ( Tasks ) )
// SVG icon ★ per category (single quotes inside the SVG)
Channel icon = SWITCH ( SELECTEDVALUE ( Sales[Channel] ),
"Store", "<svg viewBox='0 0 24 24'><path d='M3 10L12 3L21 10V21H15V14H9V21H3Z'/></svg>",
BLANK () )
```
## Interactions with the report
- Click a cell: cross-filter on its category (and its panel with small multiples); Ctrl for several; click the empty space to clear; click a legend entry. Cross-highlighting from other visuals keeps the highlighted share of each category in full color, the rest dimmed. Context menu everywhere (cells, empty cells, empty space, headline, legend, landing page).
- Hover: the category stays bright in every waffle (`interaction.hover`); Power BI tooltip with category, value, share, "31 of 100" cells, total, target and variance, Others members, Tooltips measures; report-page tooltips are supported.
- Keyboard: Tab, arrows (one stop per category and per waffle), Home / End, Enter selects, Esc clears; play bar: Space, arrows, Home / End. High contrast (filled and outlined cells alternate, empty cells dashed, host colors), ARIA labels, French and English.
- The visual never saves anything with persistProperties; the current frame of the play axis is session state.
## Dynamic formats
- **fx button** on colors and texts of the Format pane.
- **"Dynamic format" well** (`format`): measures renamed `card.setting` (e.g. `layout.mode`, `cells.shape`, `title.text`) drive any setting and win over the fixed value. Driving a ★ setting by DAX still shows the watermark without a key.
## Format pane: option IDs
- Card order: `license`, `style`, `dataColors`, `layout`, `cells`, `headline`, `target`, `legend`, `play`, `interaction`, then `title`, `source`, `container`, `texts`. Format pane in version 1.1.0.0 (30/10/2026), top to bottom: `license`, `style`, `dataColors`, `layout`, `cells`, `headline`, `categoryLabels`, `target`, `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` (`category` | `single`), `single`, per category `fill` and `itemShape` (`inherit` or a shape ID, or `svg`).
- `layout`: `mode` (`auto` | `percent` | `parts` | `units` ★), `scale` (`auto` | `share` | `ratio` | `points` | `max`), `rows` (1–50, 10), `columns` (1–50, 10), `order` (`rows` | `rowsBottom` | `columns` | `columnsBottom` | `snake` ★ | `snakeBottom` ★), `unitValue` (0 = automatic round number, at most 20 cells for the largest category), `unitKey`, `gap` (0–60 %, 16), `sort` (`value` | `valueAsc` | `alpha` | `data`), `maxItems` (2–30, 10), `othersLabel`, `perRow` (0–12, 0 = automatic), `panelTitles`, `panelTitleSize` (11).
- `cells`: `shape` (153 shape IDs or `svg`, default `square`), `svg` ★ (text), `radius` (0–50 px, 2), `partial` (`round` | `floor` | `partial` ★), `reveal` (`cascade` | `fade` | `none`), `emptyStyle` (`auto` | `filled` | `outline` | `hidden`), `emptyColor`, `emptyOpacity` (5–100, 100).
- `headline`: `show`, `content` (`pct` | `value` | `pctValue` ★ | `valueTotal` ★), `position` (`auto` | `left` | `top` | `bottom`), `fontSize` (8–96, 26), `color`, `showName`, `nameSize` (11), `units`, `decimals`, `prefix`, `suffix`, `pctDecimals` (−1–3).
- `target` ★: `show`, `style` (`ring` | `marker`), `color`, `label`.
- `legend`: `show`, `content` (`name` | `namePct` | `nameValue` | `namePctValue`), `position` (`top` | `bottom` | `right` | `left`, default `right`), `align`, `showTitle`, `titleText`, `fontSize`, `color`, `interactive`.
- `play` ★ (shared player, card « Lecture ★ » / "Playback ★"): `start` (`last` | `first`), `speed` (100–10,000 ms, 1,000), `loop`, `autoPlay`, `transition`, `controls`, `position`, `ticks`, `tickLabels`, `stepButtons`, `speedButton`, `showLabel` (off by default in Waffle Plume), `labelSize`, `labelPosition`.
- `interaction`: `hover`, `dim` (5–80, 25).
- Shape IDs by group: basic `circle`, `square`, `roundedSquare`, `rectangle`, `triangle`, `diamond`, `hexagon`, `star`, `heart`, `ellipse`, `pentagon`, `octagon`, `rightTriangle`, `parallelogram`, `trapezoid`, `ring`, `semicircle`, `arch`, `capsule`, `star6`, `seal`, `cross`; people `person`, `man`, `woman`, `child`, `people`, `bust`; nature `cloud`, `drop`, `sun`, `moon`, `snowflake`, `leaf`, `pine`, `tree`, `flower`, `mountain`, `wave`, `flame`, `umbrella`, `apple`, `fish`, `paw`, `rain`, `sprout`; objects `house`, `building`, `factory`, `castle`, `shop`, `bank`, `hospital`, `book`, `envelope`, `phone`, `laptop`, `monitor`, `gift`, `clock`, `calendar`, `pencil`, `lightbulb`, `cup`, `crown`, `trashCan`; transport `car`, `truck`, `bus`, `bicycle`, `plane`, `boat`, `train`, `rocket`, `helicopter`, `ship`, `fuel`, `scooter`; business `target`, `barChart`, `pieChart`, `trendUp`, `coin`, `banknote`, `wallet`, `creditCard`, `cart`, `briefcase`, `percent`, `podium`, `megaphone`, `gem`, `medal`, `clipboard`, `handshake`; plus arrows and symbols, containers and maps.
## 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.
```json
{
"visualType": "plumeWaffleC707BF468E704234BE22DABB0FE758B2",
"query": {
"queryState": {
"category": { "projections": [ { "field": { "Column": { "Expression": { "SourceRef": { "Entity": "Sales" } }, "Property": "Channel" } }, "queryRef": "Sales.Channel", "nativeQueryRef": "Channel" } ] },
"value": { "projections": [ { "field": { "Measure": { "Expression": { "SourceRef": { "Entity": "Sales" } }, "Property": "Revenue" } }, "queryRef": "Sales.Revenue", "nativeQueryRef": "Revenue" } ] }
}
},
"objects": {
"layout": [ { "properties": { "mode": { "expr": { "Literal": { "Value": "'parts'" } } }, "order": { "expr": { "Literal": { "Value": "'columnsBottom'" } } } } } ],
"cells": [ { "properties": { "shape": { "expr": { "Literal": { "Value": "'circle'" } } } } } ]
}
}
```
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`. Category colors set in Data colors win over the style.
- `style.themeJson` (Theme JSON ★): a JSON theme as plain text. Full reference: https://plumevisuals.com/ai/tutorials/en/themes-json.md.
## Common pitfalls
- A full waffle (100%) with an amount and no category: there is no denominator; add the Total field or a Category, or set `layout.scale`.
- The percentage looks wrong: check `layout.scale` (a measure of 43 without % format is read as 43 points only when it is ≤ 100 and alone).
- "Others" appears: more than `layout.maxItems` categories.
- Tiny shapes: wide shapes (car, truck) are fitted in square cells; use fewer rows and columns.
- The SVG is ignored and squares are drawn: invalid SVG (a message explains why in edit mode) or a web address (never loaded).
- Watermark visible: a filled Play axis field, `layout.mode` = `units`, a snake fill order, `headline.content` = `pctValue` or `valueTotal` (Percentage mode), a ★ shape, pasted or measure SVG, `cells.partial` = `partial`, Target field with `target.show`, Small multiples field, a ★ style or a theme JSON, without a valid key.
## Features that do NOT exist (do not suggest them)
Images (PNG, JPEG) as cells, loading an SVG or an icon from a URL, icon fonts, a gradient color by measure per cell, spiral or circular waffles, a native drill-down hierarchy, saving the current frame of the play axis in the report, exporting the chart 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 | Catégorie | column | 1 | Parts of the waffle (e.g. Product line). Without it, each measure is a part. |
| `value` | Value | Valeur | measure | 6 | Measure to show (a ratio, a percentage or an amount). Several measures: one part (or one waffle) each. |
| `total` | Total (100%) | Total (100 %) | measure | 1 | Optional: the amount that fills the whole waffle (e.g. headcount). The percentage is value ÷ total. |
| `target` | Target ★ | Objectif ★ | measure | 1 | Premium: the target cell is circled, the missing cells are dashed. |
| `multiples` | Small multiples ★ | Petits multiples ★ | column | 1 | Premium: one waffle per value of this field (e.g. Year, Region), each with the parts of the Category field. |
| `icon` | SVG icon ★ | Icône SVG ★ | measure | 1 | Premium: a text measure that returns an SVG for each category (the shape of its cells). Cleaned, never loaded from the web. |
| `play` | Play axis ★ | Axe de lecture ★ | column | 1 | Premium: a date, a year or an ordered category; the cells fill or empty one by one from one value to the next (play button). |
| `tooltips` | Tooltips | Infobulles | measure | 5 | |
| `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` + `multiples` + `play` (one row per combination), 30,000 rows per data window (more fetched automatically); measures = `value`, `total`, `target`, `icon`, `tooltips`, `format`.
Capabilities: supportsHighlight, supportsKeyboardFocus, supportsMultiVisualSelection, supportsLandingPage, supportsEmptyDataView.
Network access: none (no privileges requested, no external request).
## Format pane options (142)
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)
**Waffle / Gaufre**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `layout.mode` | Mode | Mode | dropdown | enumeration | `auto` | `auto` Automatic (parts with a category, else percentage); `percent` Percentage: one waffle per category; `parts` Parts of a whole: every category in one waffle; `units` Units: 1 cell = N units (pictograms) ★ | Percentage: 43% = 43 cells out of 100. Parts: each category colors its share of the cells. Units ★: one row of cells per category, each cell is worth N units (isotype style). |
| `layout.scale` | Percentage computed | Pourcentage calculé | dropdown | enumeration | `auto` | `auto` Automatic; `share` Share of the sum of the categories; `ratio` Value is a ratio (0.43 = 43%); `points` Value in points (43 = 43%); `max` The largest value = 100% | Visible when `layout.mode` = `auto` or `percent` or `parts`. Automatic: with the Total field, value ÷ total; a % formatted measure or values between 0 and 1 are ratios; several categories: share of their sum; else the value in points when it does not exceed 100. |
| `layout.rows` | Rows | Lignes | number | integer | `10` | 1 to 50 | Visible when `layout.mode` = `auto` or `percent` or `parts` |
| `layout.columns` | Columns (cells per row) | Colonnes (éléments par ligne) | number | integer | `10` | 1 to 50 | |
| `layout.order` | Fill order | Ordre de remplissage | dropdown | enumeration | `rows` | `rows` Row by row, from the top; `rowsBottom` Row by row, from the bottom; `columns` Column by column, from the top; `columnsBottom` Column by column, from the bottom; `snake` Snake, from the top ★; `snakeBottom` Snake, from the bottom ★ | Visible when `layout.mode` = `auto` or `percent` or `parts` |
| `layout.unitValue` | Value of one cell (0 = automatic) | Valeur d'un élément (0 = automatique) | number | numeric | `0` | 0 to … | Visible when `layout.mode` = `units`. Units: each cell is worth this number (e.g. 1,000 people). Automatic: a round number giving at most 20 cells to the largest category. |
| `layout.unitKey` | Show « 1 cell = … » | Afficher « 1 élément = … » | toggle | bool | `true` | true / false | Visible when `layout.mode` = `units` |
| `layout.gap` | Space between cells (%) | Espace entre les éléments (%) | number | integer | `16` | 0 to 60 | |
**Categories and waffles / Catégories et gaufres**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `layout.sort` | Category order | Ordre des catégories | dropdown | enumeration | `value` | `value` Largest first; `valueAsc` Smallest first; `alpha` Alphabetical; `data` Data order (Sort by column) | |
| `layout.maxItems` | Categories at most (the next ones: « Others ») | Catégories au plus (les suivantes : « Autres ») | number | integer | `10` | 2 to 30 | |
| `layout.othersLabel` | Grouping label | Libellé du regroupement | text | text | (empty) | | |
| `layout.perRow` | Waffles per row (0 = automatic) | Gaufres par ligne (0 = automatique) | number | integer | `0` | 0 to 12 | Several waffles (one per category, per measure or per value of the Small multiples field): number of waffles side by side. |
| `layout.panelTitles` | Title of each waffle | Titre de chaque gaufre | toggle | bool | `true` | true / false | |
| `layout.panelTitleSize` | Waffle title size | Taille des titres des gaufres | number | formatting | `11` | 6 to 24 | |
### 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 | `category` | `category` One color per category; `single` Single color (shades by category) | |
| `dataColors.single` | Color | Couleur | color | fill | (empty) | hex color | |
| `dataColors.fill` | Color | Couleur | color | fill | (empty) | hex color | |
### Cells / Éléments (`cells`, Format pane)
**Filled cells / Éléments remplis**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `cells.shape` | Cell shape | Forme des éléments | dropdown | enumeration | `square` | `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 ★; `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 ★; `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 ★; `svg` Pasted SVG (below) ★ | ★ shapes work with a watermark until a key is entered. A different shape per category: « Data colors » card. |
| `cells.svg` | Pasted SVG ★ | SVG collé ★ | textarea | text | (empty) | | Visible when `cells.shape` = `svg`. Paste the code of an SVG icon (or a data URI, or a d attribute), then colored by category. The SVG is cleaned: scripts, links and images are removed; no web address is ever loaded. |
| `cells.radius` | Square corner radius (px) | Arrondi des carrés (px) | number | integer | `2` | 0 to 50 | Visible when `cells.shape` = `square` |
| `cells.partial` | Last cell | Dernier élément | dropdown | enumeration | `round` | `round` Rounded to the nearest cell; `floor` Whole cells only; `partial` Partly filled (exact fraction) ★ | Rounded: shares are rounded without changing the total (largest remainder). Partly filled: 43.6% fills 43 cells and 60% of the 44th; a cell can be shared by two categories. |
| `cells.reveal` | Reveal | Apparition | dropdown | enumeration | `cascade` | `cascade` Cell by cell, in fill order; `fade` Fade; `none` None | Only when the data changes; never when animations are reduced (Style › Animations or the system). |
**Empty cells / Éléments vides**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `cells.emptyStyle` | Empty cells | Éléments vides | dropdown | enumeration | `auto` | `auto` Automatic (hidden in Units mode); `filled` Light tint; `outline` Outline only; `hidden` Hidden | |
| `cells.emptyColor` | Color (empty = style grid) | Couleur (vide = grille du style) | color | fill | (empty) | hex color | |
| `cells.emptyOpacity` | Opacity (%) | Opacité (%) | number | integer | `100` | 5 to 100 | |
### Headline value / Valeur en grand (`headline`, Format pane)
The card header toggle is `headline.show`.
**Headline value / Valeur en grand**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `headline.show` | Show | Afficher | toggle | bool | `true` | true / false | Percentage mode: the percentage of each waffle in large type. Parts mode: the share of the first category (Single waffle). Units mode: the value at the end of each row. |
| `headline.content` | Content | Contenu | dropdown | enumeration | `pct` | `pct` Percentage; `value` Value; `pctValue` Percentage and value ★; `valueTotal` Value of total ★ | Percentage mode. « Percentage and value » ★ and « Value of total » ★ (e.g. 43% · 129 or 129 / 300) work with a watermark until a key is entered. |
| `headline.position` | Position | Position | dropdown | enumeration | `auto` | `auto` Automatic (left when there is room); `left` Left of the waffle; `top` Above; `bottom` Below | |
| `headline.fontSize` | Value size | Taille de la valeur | number | formatting | `26` | 8 to 96 | Shrinks automatically when room is short. |
| `headline.color` | Color (empty = category color) | Couleur (vide = couleur de la catégorie) | color | fill | (empty) | hex color | |
| `headline.parts` | Single waffle (Parts mode) | Gaufre unique (mode Parts) | dropdown | enumeration | `first` | `first` Percentage of the first category; `none` No headline value | Parts mode (every category in one waffle): the share of the first category (sort order) in large type, with its name, like a percentage waffle. |
| `headline.showName` | Category name | Nom de la catégorie | toggle | bool | `true` | true / false | |
| `headline.nameSize` | Name size | Taille du nom | number | formatting | `11` | 6 to 30 | |
**Numbers / Nombres**
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `headline.units` | Display units | Unités d'affichage | dropdown | enumeration | `auto` | `auto` Auto; `none` None; `k` Thousands; `m` Millions; `b` Billions | |
| `headline.decimals` | Decimals (-1 = auto) | Décimales (-1 = auto) | number | integer | `-1` | -1 to 6 | |
| `headline.prefix` | Prefix | Préfixe | text | text | (empty) | | |
| `headline.suffix` | Suffix (e.g. €) | Suffixe (ex. €) | text | text | (empty) | | |
| `headline.pctDecimals` | Percentage decimals (-1 = auto) | Décimales des pourcentages (-1 = auto) | number | integer | `-1` | -1 to 3 | |
### Category labels / Étiquettes des catégories (`categoryLabels`, Format pane)
The card header toggle is `categoryLabels.show`.
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `categoryLabels.show` | Show | Afficher | toggle | bool | `true` | true / false | Units mode: the name of each row, on the left. Hidden: rows take the whole width (the legend or the tooltip names the categories). |
| `categoryLabels.fontSize` | Size | Taille | number | formatting | `11` | 6 to 30 | |
| `categoryLabels.bold` | Bold | Gras | toggle | bool | `false` | true / false | |
| `categoryLabels.color` | Color (empty = text) | Couleur (vide = texte) | color | fill | (empty) | hex color | |
| `categoryLabels.colorByCategory` | In the category color | À la couleur de la catégorie | toggle | bool | `false` | true / false | |
| `categoryLabels.maxWidth` | Maximum width (% of the visual) | Largeur maximale (% du visuel) | number | integer | `30` | 10 to 60 | Longer names are shortened (…); the full name stays in the tooltip. |
### 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.content` | Content | Contenu | dropdown | enumeration | `namePct` | `name` Name; `namePct` Name and percentage; `nameValue` Name and value; `namePctValue` Name, percentage and value | Percentage and value of the waffle (single waffle); with several waffles, the name only. |
| `legend.position` | Position | Position | dropdown | enumeration | `right` | `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 | |
### Target ★ / Objectif ★ (`target`, Format pane)
This card controls premium features (★): they work without a license key but show the watermark while in use.
The card header toggle is `target.show`.
| Option ID | Label (EN) | Label (FR) | Control | Type | Default | Allowed values | Notes |
|---|---|---|---|---|---|---|---|
| `target.show` | Show | Afficher | toggle | bool | `true` | true / false | With the Target field: the target cell is circled and the cells still missing to reach it are dashed. |
| `target.style` | Marker | Repère | dropdown | enumeration | `ring` | `ring` Circled cell and missing cells dashed; `marker` Circled cell only | |
| `target.color` | Color (empty = accent) | Couleur (vide = accent) | color | fill | (empty) | hex color | |
| `target.label` | « Target: … » under the headline value | « Objectif : … » sous la valeur en grand | 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.
| 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.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` |
| `play.showLabel` | Current value in large type | Valeur en cours en grand | toggle | bool | `false` | true / false | |
| `play.labelSize` | Large value size | Taille de la valeur en grand | number | formatting | `44` | 12 to 160 | Visible when `play.showLabel` = `true` |
| `play.labelPosition` | Large value position | Position de la valeur en grand | dropdown | enumeration | `bottomRight` | `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. |