Aller au contenu
Design system @paulperigault

Composants

BarChart

À quoi il sert

BarChart compare des catégories par des barres verticales ou horizontales, simples ou groupées, en SVG statique.

Quand l’utiliser

Quand ne pas l’utiliser

Exemples

Visites par rubrique
Visites par rubriqueSérie « Visites » : maximum 3 400 visites (Accueil) ; minimum 260 visites (Contact). Axe horizontal : Rubrique, axe vertical : visites. L'axe des valeurs part de zéro. Le tableau des données suit le graphique.01 0002 0003 0004 000visitesAccue…AccueilGuidesRéfér…RéférencesJourn…JournalConta…Contact3 4002 6001 900700260
Données du graphique
Visites par rubrique : Données du graphique
RubriqueVisites (visites)
Accueil3 400
Guides2 600
Références1 900
Journal700
Contact260
Visites par rubrique, barres horizontales
Visites par rubrique, barres horizontalesSérie « Visites » : maximum 3 400 visites (Accueil) ; minimum 260 visites (Contact). Axe horizontal : visites, axe vertical : Rubrique. L'axe des valeurs part de zéro. Le tableau des données suit le graphique.01 0002 0003 0004 000visitesAccueilGuidesRéférencesJournalContact
Données du graphique
Visites par rubrique, barres horizontales : Données du graphique
RubriqueVisites (visites)
Accueil3 400
Guides2 600
Références1 900
Journal700
Contact260
Visites par rubrique et par année
Visites par rubrique et par annéeSérie « 2024 » : maximum 3 100 visites (Accueil) ; minimum 240 visites (Contact). Série « 2025 » : maximum 3 400 visites (Accueil) ; minimum 260 visites (Contact). Axe horizontal : Rubrique, axe vertical : visites. L'axe des valeurs part de zéro. Le tableau des données suit le graphique.01 0002 0003 0004 000visitesAccue…AccueilGuidesRéfér…RéférencesJourn…JournalConta…Contact
  • 2024
  • 2025
Données du graphique
Visites par rubrique et par année : Données du graphique
Rubrique2024 (visites)2025 (visites)
Accueil3 1003 400
Guides2 2002 600
Références1 6001 900
Journal620700
Contact240260
Écart à l’objectif par trimestre
Écart à l’objectif par trimestreSérie « Écart à l’objectif » : maximum 12 % (T3) ; minimum -8 % (T1). Axe horizontal : Trimestre, axe vertical : %. L'axe des valeurs part de zéro. Le tableau des données suit le graphique.-10-5051015%T1T2T3T4
Données du graphique
Écart à l’objectif par trimestre : Données du graphique
TrimestreÉcart à l’objectif (%)
T1-8
T23
T312
T4-4
Parcours des sessions, libellés longs
Parcours des sessions, libellés longsSérie « Sessions » : maximum 940 sessions (Page d’accueil puis lecture d’un guide) ; minimum 280 sessions (Arrivée directe sur le journal). Axe horizontal : sessions, axe vertical : Parcours. L'axe des valeurs part de zéro. Le tableau des données suit le graphique.05001 000sessionsPage d’accueil puislecture d’un guideRecherche interne puispage de référenceArrivée directe sur lejournal
Données du graphique
Parcours des sessions, libellés longs : Données du graphique
ParcoursSessions (sessions)
Page d’accueil puis lecture d’un guide940
Recherche interne puis page de référence610
Arrivée directe sur le journal280
---
import BarChart from '@paulperigault/astro/BarChart.astro';
import type { Dataset } from '@paulperigault/dataviz';

const visites: Dataset = {
  schema: 1,
  x: { kind: 'category', label: 'Rubrique', values: ['Accueil', 'Guides', 'Journal'] },
  series: [{ id: 'visites', label: 'Visites', unit: 'visites', values: [3400, 2600, 700] }],
};
---

<BarChart id="visites-rubrique" title="Visites par rubrique" dataset={visites} orientation="horizontal" showValues />

Variantes

Budgets de poids

  • Jusqu’à 120 barres (40 catégories × 3 séries, 20 × 6) sous 10 ko et 400 nœuds.
  • Cas extrême 40 × 6 : 11,9 ko, moins de 400 nœuds ; hors budget réaliste.

Teinte d’accent

--pp-accent-hue règle la teinte OKLCH en degrés ; clarté et chroma restent ceux du système. Le branchement dans le build de tokens n’est pas fait (#121) : les graphiques ci-dessus utilisent les jetons figés sur la teinte 270.7. Le tableau montre ce que la dérivation donnerait pour la teinte 150, calculée à la construction de la page.

Jetons catégoriels figés et dérivation à une autre teinte
RangFigé, teinte 270.7, clairDérivé, teinte 150, clairDérivé, teinte 150, sombre
--pp-chart-1oklch(47% 0.19 270.7)oklch(47% 0.1294 150)oklch(78% 0.1 150)
--pp-chart-2oklch(64% 0.1491 60.7)oklch(68% 0.31 330)oklch(56% 0.24 315)
--pp-chart-3oklch(20% 0.0787 30.7)oklch(20% 0.0986 315)oklch(88% 0.086 315)
--pp-chart-4oklch(64% 0.1091 195.7)oklch(48% 0.095 345)oklch(52% 0.1235 120)
--pp-chart-5oklch(44% 0.1781 0.7)oklch(24% 0.0661 150)oklch(56% 0.1 180)
--pp-chart-6oklch(64% 0.2026 285.7)oklch(64% 0.1346 165)oklch(92% 0.2184 120)

Accessibilité

Clavier

Lecteur d’écran

Garanti par le composant

À la charge de l’intégrateur

Propriétés

Propriétés de BarChart
PropriétéTypeDéfautDescription
orientation"vertical" | "horizontal"—`vertical` (défaut) : catégories en abscisse ; `horizontal` : catégories en ordonnée.
showValuesboolean—Écrit la valeur dans chaque barre, seulement si toutes y tiennent.
id (obligatoire)string—Préfixe unique des ids du titre et de la description : lettres, chiffres et tirets.
title (obligatoire)string—Titre du graphique, premier élément de son nom accessible.
dataset (obligatoire)Dataset—Jeu de données (`schema: 1`) : validé, sinon le build échoue avec le code d'erreur.
localestring'fr'Locale des nombres et des dates. Défaut : `fr`.
tableLabelstring—Libellé du tableau de données lié.
emptyLabelstring—Message de l'état vide (aucune valeur présente).
errorLabelstring—Début du message d'erreur de rendu ; le code d'erreur le suit.
classstring—Réservé au placement du composant dans son parent.

Jetons utilisés

Preuves et décisions