Contenu principal

Spécifier les couleurs des tracés

MATLAB® crée des tracés en utilisant des couleurs par défaut. Ces couleurs par défaut donnent un aspect propre et cohérent aux différents tracés que vous créez. Vous pouvez personnaliser les couleurs si besoin. Beaucoup de fonctions de tracé comportent un argument d’entrée tel que c ou colorspec pour la personnalisation de la couleur. Les objets renvoyés par ces fonctions comportent en général des propriétés permettant de contrôler la couleur. Les noms des arguments et des propriétés peuvent varier, mais les valeurs qu’ils acceptent suivent généralement un schéma commun. Une fois que vous connaîtrez bien le schéma, vous pourrez l’utiliser pour modifier toutes sortes de tracés.

Les exemples suivants utilisent les fonctions bar et scatter afin de démontrer l’approche globale pour personnaliser les couleurs. Pour une liste complète des valeurs de couleurs valides pour une fonction de tracé spécifique, référez-vous à la documentation de cette fonction.

Types de valeurs de couleurs

Il existe les types de valeurs de couleurs suivants :

  • Nom de couleur ou abréviation — Spécifiez le nom d’une couleur tel que "red" ou "green". Les abréviations spécifient une lettre d’un nom de couleur, tel que "r" ou "g".

  • Triplet RGB — Créez une couleur personnalisée en spécifiant un vecteur ligne à trois éléments dont les éléments sont l’intensité des composants verts, rouges et bleus d’une couleur. Les intensités doivent être comprises dans la plage [0,1]. Par exemple, vous pouvez spécifier une nuance de rose en tant que [1 0.5 0.8].

    Certains arguments de fonction qui contrôlent la couleur n’acceptent pas les triplets RGB, tandis que les propriétés d’objet associées à la couleur les acceptent généralement.

  • Code couleur hexadécimal — Créez une couleur personnalisée en spécifiant une chaîne de caractères ou un vecteur de caractères qui commence par un symbole dièse (#) suivi de trois ou six chiffres hexadécimaux, compris dans une plage de 0 à F. Les valeurs ne sont pas sensibles à la casse. Par conséquent, les codes couleurs "#FF8800", "#ff8800", "#F80" et "#f80" spécifient tous la même nuance d’orange.

    Certains arguments de fonction contrôlant la couleur n’acceptent pas les codes couleur hexadécimaux, mais vous pouvez spécifier un code couleur hexadécimal en utilisant un argument nom-valeur qui correspond à une propriété d’objet. Par exemple, scatter(x,y,sz,"MarkerFaceColor","#FF8800") définit la couleur de marqueur d’un diagramme de dispersion sur orange.

Cette table énumère tous les noms et abréviations de couleur valides avec leurs triplets RGB et codes couleur hexadécimaux correspondants.

Nom de couleurAbréviationTriplet RGBCode couleur hexadécimalApparence
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

Cette table énumère les palettes de couleurs par défaut pour les tracés dans les thèmes clairs et sombres.

PaletteCouleurs de la palette

"gem" — Paramètre par défaut du thème clair

Avant R2025a : La plupart des tracés utilisent ces couleurs par défaut.

Sample of the "gem" color palette

"glow" — Paramètre par défaut du thème sombre

Sample of the "glow" color palette

Vous pouvez obtenir les triplets RGB et les codes couleur hexadécimaux de ces palettes à l’aide des fonctions orderedcolors et rgb2hex. Par exemple, obtenez les triplets RGB de la palette "gem" et convertissez-les en codes couleur hexadécimaux.

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

Avant R2023b : Obtenez les triplets RGB à l’aide de RGB = get(groot,"FactoryAxesColorOrder").

Avant R2024a : Obtenez les codes couleur hexadécimaux à l’aide de H = compose("#%02X%02X%02X",round(RGB*255)).

Spécifier la couleur d’un diagramme à barres

Créez un diagramme à barres rouge en appelant la fonction bar et en spécifiant l’argument optionnel color en tant que "red". Renvoyez l’objet à barres sous la forme b, afin de pouvoir personnaliser d’autres aspects du diagramme plus tard.

b = bar(1:10,"red");

Figure contains an axes object. The axes object contains an object of type bar.

Maintenant, modifiez la couleur de remplissage et de contour du diagramme à barres, en définissant les propriétés FaceColor et EdgeColor sur le code couleur hexadécimal "#80B3FF".

b.FaceColor = "#80B3FF";
b.EdgeColor = "#80B3FF";

Figure contains an axes object. The axes object contains an object of type bar.

Spécifier les couleurs de marqueurs d’un diagramme de dispersion

Créez un diagramme de dispersion de nombres aléatoires. Spécifiez la taille du marqueur à 75 points et utilisez des arguments nom-valeur pour spécifier les couleurs de contour et de remplissage du marqueur. La propriété MarkerEdgeColor contrôle la couleur du contour, et la propriété MarkerFaceColor contrôle la couleur de remplissage.

x = rand(1,100);
y = rand(1,100);
scatter(x,y,75,"MarkerEdgeColor","b", ...
    "MarkerFaceColor",[0 0.7 0.7])

Figure contains an axes object. The axes object contains an object of type scatter.

Spécifier des couleurs dans une série de tracés

Il y a deux manières de créer une série de tracés :

  • Appeler une fonction de tracé plusieurs fois et utiliser la fonction hold pour conserver le contenu des axes.

  • Passer une matrice contenant plusieurs séries de données à la fonction de tracé. La fonction plot a toujours accepté les entrées de matrice, et bien d’autres fonctions de tracé supportent également les entrées de matrice.

Pour spécifier des couleurs d’une de ces deux manières, appelez la fonction de tracé souhaitée avec un argument de sortie afin de pouvoir accéder aux objets de tracé individuels. Définissez ensuite les propriétés de l’objet de tracé que vous souhaitez modifier.

Par exemple, créez un diagramme de dispersion avec des marqueurs remplis à 100 points. Appelez la fonction scatter avec un argument de sortie s1. Appelez la fonction hold pour conserver le contenu des axes, puis appelez la fonction scatter deux fois de plus avec les arguments de sortie s2 et s3. Les variables s1, s2 et s3 sont des objets Scatter.

figure
x = 1:5;
s1 = scatter(x,[6 3 9 10 7],100,"filled");
hold on
s2 = scatter(x,[16 13 19 20 17],100,"filled");
s3 = scatter(x,[26 23 29 33 27],100,"filled");
hold off

Figure contains an axes object. The axes object contains 3 objects of type scatter.

Changez la couleur du deuxième objet Scatter pour une nuance de violet.

s2.MarkerFaceColor = [0.7 0 1];

Figure contains an axes object. The axes object contains 3 objects of type scatter.

La fonction scatter supporte également les entrées de matrice (depuis R2021a), ce qui vous permet de créer le même tracé en passant une matrice et en renvoyant un vecteur d’objets.

figure
x = 1:5;
y = [6 3 9 10 7; 16 13 19 20 17; 26 23 29 33 27];
s = scatter(x,y,100,"filled");

Figure contains an axes object. The axes object contains 3 objects of type scatter.

Pour modifier la couleur de la deuxième série de données dans ce cas, accédez au deuxième objet Scatter en indexant dans s.

s(2).MarkerFaceColor = [0.7 0 1];

Figure contains an axes object. The axes object contains 3 objects of type scatter.

Voir aussi

Fonctions

Propriétés

Rubriques