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 de0
à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 couleur | Abréviation | Triplet RGB | Code couleur hexadécimal | Apparence |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
Cette table énumère les palettes de couleurs par défaut pour les tracés dans les thèmes clairs et sombres.
Palette | Couleurs de la palette |
---|---|
Avant R2025a : La plupart des tracés utilisent ces couleurs par défaut. |
|
|
|
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");
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";
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])
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
Changez la couleur du deuxième objet Scatter
pour une nuance de violet.
s2.MarkerFaceColor = [0.7 0 1];
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");
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];
Voir aussi
Fonctions
scatter
|bar
|validatecolor