Aller au contenu
Design system @paulperigault

Composants

AreaChart

À quoi il sert

AreaChart montre l’évolution d’un total, ou sa décomposition en deux à six couches empilées, en SVG statique.

Quand l’utiliser

Quand ne pas l’utiliser

Exemples

Visites mensuelles en 2025
Visites mensuelles en 2025Série « Visites » : de 820 visites (1 janvier 2025) à 1 190 visites (1 décembre 2025), hausse de 45,1 % ; minimum 790 visites (1 février 2025) ; maximum 1 240 visites (1 novembre 2025). Axe horizontal : Mois, axe vertical : visites. L'axe vertical part de zéro. Le tableau des données suit le graphique.05001 0001 500janv. 2025avr. 2025juil. 2025oct. 2025visites
Données du graphique
Visites mensuelles en 2025 : Données du graphique
MoisVisites (visites)
1 janvier 2025820
1 février 2025790
1 mars 2025880
1 avril 2025940
1 mai 20251 010
1 juin 2025980
1 juillet 2025870
1 août 2025810
1 septembre 20251 050
1 octobre 20251 180
1 novembre 20251 240
1 décembre 20251 190
Visites par source, deux couches
Visites par source, deux couchesSérie « Recherche » : de 410 visites (1 janvier 2025) à 610 visites (1 décembre 2025), hausse de 48,8 % ; minimum 400 visites (1 février 2025) ; maximum 640 visites (1 novembre 2025). Série « Direct » : de 260 visites (1 janvier 2025) à 360 visites (1 décembre 2025), hausse de 38,5 % ; minimum 250 visites (1 février 2025) ; maximum 380 visites (1 novembre 2025). Série « Total empilé » : de 670 visites (1 janvier 2025) à 970 visites (1 décembre 2025), hausse de 44,8 % ; minimum 650 visites (1 février 2025) ; maximum 1 020 visites (1 novembre 2025). Axe horizontal : Mois, axe vertical : visites. L'axe vertical part de zéro. Les aires sont empilées dans l'ordre des séries. Le tableau des données suit le graphique.05001 0001 500janv. 2025avr. 2025juil. 2025oct. 2025visites
  • Recherche
  • Direct
Données du graphique
Visites par source, deux couches : Données du graphique
MoisRecherche (visites)Direct (visites)
1 janvier 2025410260
1 février 2025400250
1 mars 2025450270
1 avril 2025480290
1 mai 2025520310
1 juin 2025500300
1 juillet 2025430270
1 août 2025400250
1 septembre 2025540320
1 octobre 2025600350
1 novembre 2025640380
1 décembre 2025610360
Visites par source en 2025
Visites par source en 2025Série « Recherche » : de 410 visites (1 janvier 2025) à 610 visites (1 décembre 2025), hausse de 48,8 % ; minimum 400 visites (1 février 2025) ; maximum 640 visites (1 novembre 2025). Série « Direct » : de 260 visites (1 janvier 2025) à 360 visites (1 décembre 2025), hausse de 38,5 % ; minimum 250 visites (1 février 2025) ; maximum 380 visites (1 novembre 2025). Série « Référents » : de 150 visites (1 janvier 2025) à 220 visites (1 décembre 2025), hausse de 46,7 % ; minimum 140 visites (1 février 2025) ; maximum 230 visites (1 octobre 2025). Série « Total empilé » : de 820 visites (1 janvier 2025) à 1 190 visites (1 décembre 2025), hausse de 45,1 % ; minimum 790 visites (1 février 2025) ; maximum 1 240 visites (1 novembre 2025). Axe horizontal : Mois, axe vertical : visites. L'axe vertical part de zéro. Les aires sont empilées dans l'ordre des séries. Le tableau des données suit le graphique.05001 0001 500janv. 2025avr. 2025juil. 2025oct. 2025visites
  • Recherche
  • Direct
  • Référents
Données du graphique
Visites par source en 2025 : Données du graphique
MoisRecherche (visites)Direct (visites)Référents (visites)
1 janvier 2025410260150
1 février 2025400250140
1 mars 2025450270160
1 avril 2025480290170
1 mai 2025520310180
1 juin 2025500300180
1 juillet 2025430270170
1 août 2025400250160
1 septembre 2025540320190
1 octobre 2025600350230
1 novembre 2025640380220
1 décembre 2025610360220
Visites par source, relevés manquants
Visites par source, relevés manquantsSérie « Recherche » : de 410 visites (1 janvier 2025) à 610 visites (1 décembre 2025), hausse de 48,8 % ; minimum 400 visites (1 février 2025) ; maximum 640 visites (1 novembre 2025). 2 données manquantes. Série « Direct » : de 260 visites (1 janvier 2025) à 360 visites (1 décembre 2025), hausse de 38,5 % ; minimum 250 visites (1 février 2025) ; maximum 380 visites (1 novembre 2025). Série « Référents » : de 150 visites (1 janvier 2025) à 220 visites (1 décembre 2025), hausse de 46,7 % ; minimum 140 visites (1 février 2025) ; maximum 230 visites (1 octobre 2025). 1 donnée manquante. Série « Total empilé » : de 820 visites (1 janvier 2025) à 1 190 visites (1 décembre 2025), hausse de 45,1 % ; minimum 480 visites (1 juin 2025) ; maximum 1 240 visites (1 novembre 2025). Axe horizontal : Mois, axe vertical : visites. L'axe vertical part de zéro. Les aires sont empilées dans l'ordre des séries. Une donnée manquante interrompt sa couche. Le tableau des données suit le graphique.05001 0001 500janv. 2025avr. 2025juil. 2025oct. 2025visites
  • Recherche
  • Direct
  • Référents
Données du graphique
Visites par source, relevés manquants : Données du graphique
MoisRecherche (visites)Direct (visites)Référents (visites)
1 janvier 2025410260150
1 février 2025400250140
1 mars 2025450270160
1 avril 2025480290170
1 mai 2025donnée manquante310180
1 juin 2025donnée manquante300180
1 juillet 2025430270170
1 août 2025400250160
1 septembre 2025540320donnée manquante
1 octobre 2025600350230
1 novembre 2025640380220
1 décembre 2025610360220
Visites par source, six couches
Visites par source, six couchesSérie « Recherche » : de 410 visites (1 janvier 2025) à 610 visites (1 décembre 2025), hausse de 48,8 % ; minimum 400 visites (1 février 2025) ; maximum 640 visites (1 novembre 2025). Série « Direct » : de 260 visites (1 janvier 2025) à 360 visites (1 décembre 2025), hausse de 38,5 % ; minimum 250 visites (1 février 2025) ; maximum 380 visites (1 novembre 2025). Série « Référents » : de 150 visites (1 janvier 2025) à 220 visites (1 décembre 2025), hausse de 46,7 % ; minimum 140 visites (1 février 2025) ; maximum 230 visites (1 octobre 2025). Série « Réseaux sociaux » : de 90 visites (1 janvier 2025) à 150 visites (1 décembre 2025), hausse de 66,7 % ; minimum 70 visites (1 août 2025) ; maximum 170 visites (1 novembre 2025). Série « Infolettre » : de 60 visites (1 janvier 2025) à 105 visites (1 décembre 2025), hausse de 75 % ; minimum 55 visites (1 août 2025) ; maximum 105 visites (1 décembre 2025). Série « Annuaires » : de 30 visites (1 janvier 2025) à 50 visites (1 décembre 2025), hausse de 66,7 % ; minimum 28 visites (1 août 2025) ; maximum 52 visites (1 novembre 2025). Série « Total empilé » : de 1 000 visites (1 janvier 2025) à 1 495 visites (1 décembre 2025), hausse de 49,5 % ; minimum 963 visites (1 août 2025) ; maximum 1 562 visites (1 novembre 2025). Axe horizontal : Mois, axe vertical : visites. L'axe vertical part de zéro. Les aires sont empilées dans l'ordre des séries. Le tableau des données suit le graphique.05001 0001 5002 000janv. 2025avr. 2025juil. 2025oct. 2025visites
  • Recherche
  • Direct
  • Référents
  • Réseaux sociaux
  • Infolettre
  • Annuaires
Données du graphique
Visites par source, six couches : Données du graphique
MoisRecherche (visites)Direct (visites)Référents (visites)Réseaux sociaux (visites)Infolettre (visites)Annuaires (visites)
1 janvier 2025410260150906030
1 février 2025400250140806035
1 mars 2025450270160956532
1 avril 20254802901701107038
1 mai 20255203101801207540
1 juin 20255003001801058036
1 juillet 2025430270170857030
1 août 2025400250160705528
1 septembre 20255403201901308542
1 octobre 20256003502301609548
1 novembre 202564038022017010052
1 décembre 202561036022015010550
---
import AreaChart from '@paulperigault/astro/AreaChart.astro';
import type { Dataset } from '@paulperigault/dataviz';

const sources: Dataset = {
  schema: 1,
  x: { kind: 'time', label: 'Mois', values: ['2025-01-01', '2025-02-01', '2025-03-01'] },
  series: [
    { id: 'recherche', label: 'Recherche', unit: 'visites', values: [410, 400, 450] },
    { id: 'direct', label: 'Direct', unit: 'visites', values: [260, 250, 270] },
  ],
};
---

<AreaChart id="visites-source" title="Visites par source" dataset={sources} />

Variantes

Budgets de poids

  • De une à six séries de 500 points : sous 10 ko et 400 nœuds, valeurs demandées comprises.
  • Au-delà de 250 points au total pour les couches, un échantillonnage LTTB réduit le tracé au build ; le tableau lié garde la donnée complète.
  • Chaque couche a deux tracés : le fond, fermé sur la base, et le contour de la seule courbe supérieure, en coordonnées relatives à une décimale.

Limites connues

  • Les couleurs --pp-chart-1..6 restent figées sur l’accent par défaut tant que l’issue #121 n’est pas faite.
  • Une valeur manquante compte pour zéro dans le cumul des couches au-dessus, mais la couche concernée est rompue.

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 AreaChart
PropriétéTypeDéfautDescription
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