Documentation du code de SPIP et de ses plugins

Palette Factory

nuancier.php

Ce fichier contient l'API de manipulation des nuanciers.

Un nuancier est un simple tableau de couleurs hexadécimales, indexé de zéro et ordonné. C'est le contenu du champ nuancier d'une palette, considéré indépendamment de la palette qui le porte : un nuancier n'a ni nom, ni collection, ni description.

Les fonctions se répartissent en trois natures :

  • produire un nuancier, qu'il soit créé à partir d'une ou deux couleurs de référence ou dérivé d'un nuancier existant ;
  • qualifier un nuancier, c'est-à-dire mesurer ses propriétés perceptuelles sans le modifier ;
  • interroger un nuancier pour obtenir la couleur correspondant à une valeur, ce qui constitue la jonction avec la discrétisation d'une série de données.

Cette couche s'appuie sur inc/colorimetrie.php et ne connaît rien de la base de données.

Tags
note

Les fonctions de génération opèrent en HSL ou en polarLAB, l'espace historiquement retenu par le plugin. Elles ne passent donc pas par les fonctions couleur_*_hcl(), qui désignent le polarLUV suivant la convention du paquet R colorspace. Voir l'en-tête de inc/colorimetrie.php sur cette distinction. Seul le mélange de deux couleurs, nuancier_couleur_melangee(), laisse le choix de l'espace en déléguant à colorimetrie_interpoler() : c'est la seule production dont les deux extrémités soient des couleurs, les autres interpolant des coordonnées dont les bornes sont fournies indépendamment.

Table of Contents

Functions

nuancier_teinte_unique()  : array<string|int, mixed>
Produit un nuancier de teintes uniques en faisant varier la luminosité et la saturation d'une couleur.
nuancier_teinte_bipolaire()  : array<string|int, mixed>
Produit un nuancier bipolaire, divergeant depuis une couleur centrale vers deux couleurs extrêmes.
nuancier_couleur_melangee()  : array<string|int, mixed>
Produit un nuancier par mélange progressif de deux couleurs.
nuancier_analogique()  : array<string|int, mixed>
Produit un nuancier analogique, composé de teintes voisines sur le cercle chromatique.
nuancier_complementaire()  : array<string|int, mixed>
Produit un nuancier complémentaire, réunissant les variations d'une couleur et celles de son opposée sur le cercle chromatique.
nuancier_triadique()  : array<string|int, mixed>
Produit un nuancier triadique, réunissant les variations de trois teintes espacées de 120° sur le cercle chromatique.
nuancier_sequentiel()  : array<string|int, mixed>
Produit un nuancier séquentiel en interpolant la clarté et le chroma à teinte constante.
nuancier_divergent()  : array<string|int, mixed>
Produit un nuancier divergent, joignant deux teintes extrêmes en passant par un point neutre.
nuancier_qualitatif()  : array<string|int, mixed>
Produit un nuancier qualitatif, composé de teintes réparties régulièrement sur le cercle chromatique à chroma constant.
nuancier_multi_teintes()  : array<string|int, mixed>
Produit un nuancier multi-teintes, en déclinant chaque teinte fournie sur une plage de clarté.
nuancier_inverser()  : array<string|int, mixed>
Renverse l'ordre des couleurs d'un nuancier.
nuancier_extraire()  : array<string|int, mixed>
Extrait d'un nuancier un sous-ensemble de couleurs réparties régulièrement, extrémités comprises.
nuancier_uniformite()  : null|array<string|int, mixed>
Mesure l'uniformité perceptuelle d'un nuancier, c'est-à-dire la régularité des écarts entre ses couleurs consécutives.
nuancier_contraste_minimal()  : null|float
Détermine le rapport de contraste le plus faible entre les couleurs consécutives d'un nuancier.
nuancier_progression_clarte()  : null|array<string|int, mixed>
Décrit la progression de clarté d'un nuancier.
nuancier_verifier_daltonisme()  : null|array<string|int, mixed>
Vérifie qu'un nuancier reste lisible pour les principales déficiences de la vision des couleurs.
nuancier_couleur_a_pourcentage()  : null|string
Renvoie la couleur d'un nuancier correspondant à une position exprimée en pourcentage.
nuancier_couleur_pour_valeur()  : null|string
Renvoie la couleur d'un nuancier représentant une valeur située dans un intervalle donné.

Functions

nuancier_teinte_unique()

Produit un nuancier de teintes uniques en faisant varier la luminosité et la saturation d'une couleur.

nuancier_teinte_unique(string $hex, int $taille[, null|float $luminosite_min = null ][, null|float $luminosite_max = null ][, null|float $saturation_min = null ][, null|float $saturation_max = null ]) : array<string|int, mixed>
Parameters
$hex : string

Couleur de référence, au format hexadécimal

$taille : int

Nombre de couleurs à produire

$luminosite_min : null|float = null

Luminosité de départ, 0-1. Par défaut celle de la couleur de référence

$luminosite_max : null|float = null

Luminosité d'arrivée, 0-1. Par défaut 0,95 si la luminosité de départ est elle-même laissée par défaut, sinon celle de la couleur de référence

$saturation_min : null|float = null

Saturation de départ, 0-1. Par défaut celle de la couleur de référence

$saturation_max : null|float = null

Saturation d'arrivée, 0-1. Par défaut celle de la couleur de référence

Return values
array<string|int, mixed>

Nuancier, ou tableau vide si la taille demandée est nulle ou négative

nuancier_teinte_bipolaire()

Produit un nuancier bipolaire, divergeant depuis une couleur centrale vers deux couleurs extrêmes.

nuancier_teinte_bipolaire(string $hex1, string $hex2, int $taille[, null|string $hex_central = null ]) : array<string|int, mixed>
Parameters
$hex1 : string

Couleur de la première extrémité

$hex2 : string

Couleur de la seconde extrémité

$taille : int

Nombre total de couleurs, un nombre impair étant recommandé pour ménager une couleur centrale

$hex_central : null|string = null

Couleur du point de bascule, blanche par défaut

Return values
array<string|int, mixed>

Nuancier

nuancier_couleur_melangee()

Produit un nuancier par mélange progressif de deux couleurs.

nuancier_couleur_melangee(string $hex1, string $hex2, int $taille[, string $methode = 'rgb' ]) : array<string|int, mixed>

Le trajet d'une couleur à l'autre est délégué à colorimetrie_interpoler(), ce qui ouvre cette production à tous les espaces qu'elle connaît : rgb rejoint la couleur d'arrivée en ligne droite et traverse souvent un gris terne, hsl suit le cercle chromatique, oklab donne le dégradé le plus régulier à l'œil.

Parameters
$hex1 : string

Couleur de départ

$hex2 : string

Couleur d'arrivée

$taille : int

Nombre de couleurs à produire

$methode : string = 'rgb'

Espace d'interpolation : rgb par défaut, ou l'un de ceux qu'accepte colorimetrie_interpoler()oklab, oklch, lab, polarlab, hcl, hsl

Tags
note

La méthode reste rgb par défaut, celle des nuanciers déjà produits par le plugin. Un mélange destiné à être lu comme un dégradé continu gagne à demander oklab.

Return values
array<string|int, mixed>

Nuancier

nuancier_analogique()

Produit un nuancier analogique, composé de teintes voisines sur le cercle chromatique.

nuancier_analogique(string $hex, int $taille[, float $ecart_teinte = 30.0 ]) : array<string|int, mixed>
Parameters
$hex : string

Couleur de référence

$taille : int

Nombre de couleurs à produire

$ecart_teinte : float = 30.0

Écart de teinte entre deux couleurs consécutives, en degrés. Un écart de 15 à 30° préserve la parenté visuelle des couleurs

Return values
array<string|int, mixed>

Nuancier

nuancier_complementaire()

Produit un nuancier complémentaire, réunissant les variations d'une couleur et celles de son opposée sur le cercle chromatique.

nuancier_complementaire(string $hex[, int $variations = 3 ]) : array<string|int, mixed>
Parameters
$hex : string

Couleur de référence

$variations : int = 3

Nombre de variations produites pour chacune des deux teintes

Return values
array<string|int, mixed>

Nuancier de 2 × $variations couleurs

nuancier_triadique()

Produit un nuancier triadique, réunissant les variations de trois teintes espacées de 120° sur le cercle chromatique.

nuancier_triadique(string $hex[, int $variations = 2 ]) : array<string|int, mixed>
Parameters
$hex : string

Couleur de référence

$variations : int = 2

Nombre de variations produites pour chacune des trois teintes

Return values
array<string|int, mixed>

Nuancier de 3 × $variations couleurs

nuancier_sequentiel()

Produit un nuancier séquentiel en interpolant la clarté et le chroma à teinte constante.

nuancier_sequentiel(string $hex_base, int $taille[, null|float $luminosite_min = null ][, null|float $luminosite_max = null ][, null|float $chroma_min = null ][, null|float $chroma_max = null ]) : array<string|int, mixed>

L'interpolation se fait dans un espace perceptuellement régulier, ce qui donne des écarts visuels réguliers entre couleurs consécutives — propriété recherchée pour représenter une variable ordonnée sur une carte.

Le chroma de chaque couleur est plafonné sur ce que le gamut sRGB autorise à sa clarté, faute de quoi la conversion écrêterait les composantes une à une : la rampe y perdrait sa teinte et n'atteindrait pas les clartés demandées. Chaque couleur est plafonnée sur son propre maximum plutôt que la rampe entière sur le plus petit d'entre eux, afin de rester aussi vive que possible ; le chroma varie donc le long de la rampe, ce qui est le comportement des nuanciers séquentiels de référence.

Parameters
$hex_base : string

Couleur de référence, dont la teinte est conservée

$taille : int

Nombre de couleurs à produire

$luminosite_min : null|float = null

Clarté de départ, 0-100. Vaut 20 par défaut

$luminosite_max : null|float = null

Clarté d'arrivée, 0-100. Vaut 90 par défaut

$chroma_min : null|float = null

Chroma de départ. Par défaut celui de la couleur de référence

$chroma_max : null|float = null

Chroma d'arrivée. Par défaut celui de la couleur de référence

Return values
array<string|int, mixed>

Nuancier

nuancier_divergent()

Produit un nuancier divergent, joignant deux teintes extrêmes en passant par un point neutre.

nuancier_divergent(string $hex1, string $hex2, int $taille[, float $luminosite_centrale = 90.0 ][, float $chroma_central = 5.0 ]) : array<string|int, mixed>
Parameters
$hex1 : string

Couleur de la première extrémité

$hex2 : string

Couleur de la seconde extrémité

$taille : int

Nombre total de couleurs, un nombre impair ménageant une couleur centrale

$luminosite_centrale : float = 90.0

Clarté du point neutre, 0-100. Une valeur de 85 à 95 le rend discret

$chroma_central : float = 5.0

Chroma du point neutre. Une valeur de 0 à 10 le rend quasi achromatique

Return values
array<string|int, mixed>

Nuancier

nuancier_qualitatif()

Produit un nuancier qualitatif, composé de teintes réparties régulièrement sur le cercle chromatique à chroma constant.

nuancier_qualitatif(int $taille[, float $luminosite = 65.0 ][, float $chroma = 60.0 ][, float $teinte_debut = 0.0 ][, float $etalement_clarte = 0.0 ]) : array<string|int, mixed>

Les couleurs y sont perceptuellement équivalentes : aucune ne domine visuellement les autres, ce qui convient à la représentation de modalités sans ordre.

À clarté constante, ce nuancier n'est pas lisible par un daltonien. Un protanope ou un deutéranope ne perçoit plus l'axe rouge-vert : le cercle chromatique s'effondre sur un seul axe, et il ne lui reste, pour distinguer deux couleurs, que cet axe résiduel et la clarté — précisément ce que la clarté constante lui retire. C'est à quoi répond $etalement_clarte, qui échelonne les couleurs de part et d'autre de $luminosite.

Parameters
$taille : int

Nombre de couleurs à produire. Au-delà de huit, les teintes deviennent difficiles à distinguer

$luminosite : float = 65.0

Clarté centrale, 0-100

$chroma : float = 60.0

Chroma commun

$teinte_debut : float = 0.0

Teinte de la première couleur, en degrés

$etalement_clarte : float = 0.0

Amplitude de clarté balayée par le nuancier, en points de clarté. Nulle par défaut, les couleurs partageant alors la même clarté. Les clartés obtenues sont ramenées dans l'intervalle 0-100

Tags
note

L'étalement n'est pas une solution générale, et le contrôle vaut mieux que la confiance : passer le résultat à nuancier_verifier_daltonisme() reste la seule façon de savoir. Mesuré sur le pire des trois déficiences, un étalement de 25 fait passer un nuancier de quatre couleurs de 6,6 à 10,2 de ΔE₀₀ — soit au-dessus du seuil de lisibilité — et un nuancier de cinq couleurs de 4,4 à 7,2. Au-delà de six couleurs le gain s'évanouit : huit teintes à chroma commun sont trop serrées pour qu'un échelonnement de clarté les sauve. Pour un nuancier qualitatif nombreux qui doive être lisible, mieux vaut puiser dans une collection éprouvée — Okabe-Ito ou les jeux de Paul Tol, qui renoncent à l'espacement régulier des teintes — que d'en générer un.

note

L'étalement n'améliore pas les choses de façon monotone : un échelonnement faible peut rapprocher deux clartés d'un couple déjà confondu et dégrader légèrement le résultat. Les valeurs utiles se situent à partir de 25.

Return values
array<string|int, mixed>

Nuancier

nuancier_multi_teintes()

Produit un nuancier multi-teintes, en déclinant chaque teinte fournie sur une plage de clarté.

nuancier_multi_teintes(array<string|int, mixed> $teintes, int $taille[, float $luminosite_min = 30.0 ][, float $luminosite_max = 90.0 ][, float $chroma = 50.0 ]) : array<string|int, mixed>
Parameters
$teintes : array<string|int, mixed>

Liste des teintes, en degrés

$taille : int

Nombre total de couleurs, réparties entre les teintes

$luminosite_min : float = 30.0

Clarté de départ de chaque déclinaison, 0-100

$luminosite_max : float = 90.0

Clarté d'arrivée de chaque déclinaison, 0-100

$chroma : float = 50.0

Chroma commun

Return values
array<string|int, mixed>

Nuancier d'au plus $taille couleurs

nuancier_inverser()

Renverse l'ordre des couleurs d'un nuancier.

nuancier_inverser(array<string|int, mixed> $nuancier) : array<string|int, mixed>
Parameters
$nuancier : array<string|int, mixed>

Nuancier à renverser

Return values
array<string|int, mixed>

Nuancier renversé

nuancier_extraire()

Extrait d'un nuancier un sous-ensemble de couleurs réparties régulièrement, extrémités comprises.

nuancier_extraire(array<string|int, mixed> $nuancier, int $nombre) : array<string|int, mixed>
Parameters
$nuancier : array<string|int, mixed>

Nuancier de départ

$nombre : int

Nombre de couleurs à extraire

Return values
array<string|int, mixed>

Nuancier extrait, ou le nuancier de départ si celui-ci ne compte pas assez de couleurs, ou un tableau vide si le nombre demandé est nul ou négatif

nuancier_uniformite()

Mesure l'uniformité perceptuelle d'un nuancier, c'est-à-dire la régularité des écarts entre ses couleurs consécutives.

nuancier_uniformite(array<string|int, mixed> $nuancier) : null|array<string|int, mixed>

Un nuancier uniforme fait progresser la perception au même rythme que la donnée représentée : c'est la propriété qui distingue les palettes conçues pour la cartographie thématique des simples dégradés. Plus le coefficient de variation est faible, plus les écarts sont réguliers.

Parameters
$nuancier : array<string|int, mixed>

Nuancier à mesurer

Tags
note

La fonction mesure sans juger : elle ne rend aucun verdict d'uniformité. Aucun seuil d'acceptation ne fait autorité — mesurés sur les collections embarquées, les coefficients médians vont de 13% pour cmocean à 25% pour colorbrewer, viridis se situant à 24% alors qu'il est conçu pour l'uniformité perceptuelle. Fixer une limite reviendrait à recaler des palettes de référence. Il revient à l'appelant d'apprécier la mesure.

note

La régularité des écarts suppose un ordre entre les couleurs : la mesure n'a de sens que pour les nuanciers ordonnés — séquentiels, divergents, cycliques. L'appliquer à un nuancier qualitatif, dont les couleurs sont interchangeables, n'aurait pas de signification.

Return values
null|array<string|int, mixed>

Mesures du nuancier :

  • index delta_e_moyen : écart perceptuel ΔE₀₀ moyen entre couleurs consécutives
  • index ecart_type : dispersion de ces écarts
  • index coefficient_variation : dispersion rapportée à la moyenne, en pourcentage Renvoie null si le nuancier compte moins de deux couleurs, ou si toutes ses couleurs sont identiques : la régularité des écarts n'a alors pas de sens.

nuancier_contraste_minimal()

Détermine le rapport de contraste le plus faible entre les couleurs consécutives d'un nuancier.

nuancier_contraste_minimal(array<string|int, mixed> $nuancier) : null|float

C'est le maillon faible du nuancier : deux plages voisines d'une carte présentant ce rapport seront les plus difficiles à distinguer.

Parameters
$nuancier : array<string|int, mixed>

Nuancier à mesurer

Return values
null|float

Rapport de contraste minimal, ou null si le nuancier compte moins de deux couleurs

nuancier_progression_clarte()

Décrit la progression de clarté d'un nuancier.

nuancier_progression_clarte(array<string|int, mixed> $nuancier[, float $tolerance = 0.5 ]) : null|array<string|int, mixed>

C'est la mesure qui distingue un nuancier séquentiel de tous les autres. Un séquentiel représente une variable ordonnée, et ce qui porte cet ordre n'est pas la teinte mais la clarté : c'est elle qui survit au daltonisme, au tirage en noir et blanc et à la photocopie. Un nuancier séquentiel dont la clarté n'est pas monotone est défectueux, même si ses écarts perceptuels sont parfaitement réguliers.

nuancier_uniformite() ne sait pas faire cette différence : un divergent bien construit affiche un aussi bon coefficient de variation qu'un séquentiel, ses couleurs étant régulièrement espacées de part et d'autre de son point neutre. Les deux mesures sont complémentaires — la régularité des écarts d'un côté, le sens de la progression de l'autre.

Parameters
$nuancier : array<string|int, mixed>

Nuancier à mesurer

$tolerance : float = 0.5

Écart de clarté en deçà duquel deux couleurs consécutives sont tenues pour de même clarté. La valeur par défaut absorbe le bruit de la quantification sur huit bits, très inférieur au seuil de perception

Tags
note

Cette fonction mesure sans juger, comme les autres fonctions de qualification. Une progression non monotone n'est un défaut que pour un séquentiel : c'est le comportement attendu d'un divergent, dont la clarté culmine au point neutre, et d'un qualitatif, dont les couleurs n'ont pas d'ordre à porter.

Return values
null|array<string|int, mixed>

Mesures de la progression :

  • index clarte_min et clarte_max : clartés extrêmes rencontrées, 0-100
  • index etendue : amplitude balayée, en points de clarté
  • index monotone : true si la clarté progresse toujours dans le même sens, false si elle change de sens ou reste plate
  • index sens : croissante, decroissante, ou chaîne vide si la progression n'est pas monotone
  • index pas_minimal : plus petit écart de clarté entre deux couleurs consécutives, soit le maillon faible en noir et blanc Renvoie null si le nuancier compte moins de deux couleurs.

nuancier_verifier_daltonisme()

Vérifie qu'un nuancier reste lisible pour les principales déficiences de la vision des couleurs.

nuancier_verifier_daltonisme(array<string|int, mixed> $nuancier[, string $type = '' ][, float $seuil = 10.0 ][, int $classes = 12 ]) : null|array<string|int, mixed>

Un nuancier cartographique ne remplit son office que si ses couleurs restent distinctes pour tout le monde. La fonction simule la perception de chaque couleur, puis mesure l'écart perceptuel le plus faible entre deux d'entre elles : c'est le couple qui se confondra en premier.

Le critère dépend du type du nuancier, parce que « rester lisible » n'y veut pas dire la même chose. Sur une carte, un nuancier qualitatif se lit en comparant deux plages quelconques à la légende, tandis qu'un séquentiel se lit comme un gradient : ce qu'il faut y préserver n'est pas la distinction de chaque couple mais l'ordre.

  • qualitative, et tout type non reconnu : tous les couples doivent rester distinguables. C'est le critère le plus exigeant, retenu par prudence pour les types dont on ne sait rien.
  • sequential et perceptual_sequential : la progression de clarté doit survivre, c'est-à-dire rester monotone et conserver la moitié au moins de son amplitude. C'est ce qui rend sûrs les séquentiels monochromes, dont les couleurs sont pourtant voisines deux à deux.
  • diverging : les deux arcs doivent rester discernables l'un de l'autre. L'échec caractéristique d'un divergent n'est pas la confusion de deux voisines mais celle de ses deux versants, qui fait perdre le sens de l'écart au point neutre.
Parameters
$nuancier : array<string|int, mixed>

Nuancier à contrôler

$type : string = ''

Type du nuancier, qui détermine le critère appliqué

$seuil : float = 10.0

Écart perceptuel ΔE₀₀ en deçà duquel deux couleurs sont tenues pour confondues. Sans effet sur le critère de progression, dont le seuil se déduit du nuancier lui-même

$classes : int = 12

Nombre maximal de classes sur lesquelles porte la comparaison des couples. La valeur par défaut est le plus grand nombre de couleurs que publient les collections de référence, et au-delà duquel une carte choroplèthe cesse d'être lisible

Tags
note

Appliquer le critère des couples à tout aurait produit un contrôle inutilisable : mesuré ainsi, aucune des palettes que ColorBrewer déclare sûres ne l'est, viridis comprise. Avec les critères ci-dessus, les palettes déclarées sûres passent et RdYlGn comme Spectral, déclarées non sûres, échouent — ces deux-là sur le critère des arcs, à 0,5 et 2,0 de ΔE₀₀ quand les sûres se tiennent au-dessus de 13.

note

Le contrôle ne reproduit pas le jugement d'expert d'un ColorBrewer et ne prétend pas s'y substituer. Quand une collection déclare l'aptitude de ses palettes, cette déclaration reste la meilleure source ; le calcul vaut pour les palettes personnelles, qui n'en ont aucune.

note

Les critères qui comparent des couples s'appliquent sur au plus $classes couleurs, extraites régulièrement du nuancier. Une rampe continue de 256 couleurs n'est jamais lue couleur par couleur : elle est discrétisée en une poignée de classes avant d'atterrir sur une carte. La contrôler à pleine résolution reviendrait à déclarer illisible toute rampe continue, puisque deux couleurs voisines y sont par construction presque identiques — la palette balance de cmocean tombe ainsi à 0,54 de ΔE₀₀ à 256 couleurs, contre 15,2 une fois ramenée à onze classes. Le verdict porte donc sur le nuancier tel qu'il sera employé, et non sur sa définition. Accessoirement, c'est ce qui rend le contrôle praticable : sans cette réduction, une cinquantaine de rampes continues consomment à elles seules l'essentiel du temps de qualification d'une collection.

Return values
null|array<string|int, mixed>

Mesures du contrôle :

  • index critere : couples, arcs ou progression
  • index seuil : seuil effectivement appliqué, dans l'unité du critère — un écart ΔE₀₀ pour couples et arcs, une amplitude de clarté pour progression
  • index lisible : true si les trois déficiences sont lisibles
  • un index par déficience — protanopie, deuteranopie et tritanopie — portant :
    • index mesure : grandeur mesurée, dans l'unité du critère. Nulle si la progression est rompue, ce qui la place sous n'importe quel seuil
    • index couple : les deux couleurs d'origine à l'origine de la mesure, vide pour le critère de progression
    • index lisible : true si la mesure atteint le seuil Renvoie null si le nuancier compte moins de deux couleurs.

nuancier_couleur_a_pourcentage()

Renvoie la couleur d'un nuancier correspondant à une position exprimée en pourcentage.

nuancier_couleur_a_pourcentage(array<string|int, mixed> $nuancier, float $pourcentage) : null|string
Parameters
$nuancier : array<string|int, mixed>

Nuancier à interroger

$pourcentage : float

Position dans le nuancier, 0-100. Les valeurs hors bornes sont ramenées aux extrémités

Return values
null|string

Couleur hexadécimale, ou null si le nuancier est vide

nuancier_couleur_pour_valeur()

Renvoie la couleur d'un nuancier représentant une valeur située dans un intervalle donné.

nuancier_couleur_pour_valeur(array<string|int, mixed> $nuancier, float $valeur, float $min, float $max) : null|string

C'est la jonction entre une série de données et un nuancier : à chaque valeur correspond une couleur, ce qui constitue le principe même de la carte choroplèthe.

Parameters
$nuancier : array<string|int, mixed>

Nuancier à interroger

$valeur : float

Valeur à représenter. Les valeurs hors bornes sont ramenées aux extrémités

$min : float

Borne inférieure de l'intervalle

$max : float

Borne supérieure de l'intervalle

Tags
note

L'échelle est ici linéaire : la couleur ne dépend que de la position de la valeur entre les deux bornes. Pour une répartition fondée sur la distribution réelle de la série — quantiles, ruptures naturelles, écart-type — il faut d'abord discrétiser la série, puis retenir la couleur du rang de la classe obtenue.

Return values
null|string

Couleur hexadécimale, ou null si le nuancier est vide


        
On this page

Search results