Contenu principal

Changer le jeu de couleurs à l’aide d’une palette de couleurs

MATLAB® utilise un jeu de couleurs par défaut pour l’affichage de visualisations telles que les graphiques de surface. Vous pouvez changer le jeu de couleurs en spécifiant une palette de couleurs. Les palettes de couleurs sont des tableaux à trois colonnes contenant des triplets RGB et où chaque ligne définit une couleur distincte.

Par exemple, voici un graphique de surface avec le jeu de couleurs par défaut.

f = figure;
surf(peaks);

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

La commande suivante change la palette de couleurs de la figure actuelle en winter, une des palettes de couleurs prédéfinies (consultez Couleur et style pour accéder à la liste complète).

colormap winter;

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

Si plusieurs figures sont ouvertes, passez l’objet Figure en tant que premier argument de la fonction colormap.

colormap(f,hot);

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

Chaque palette de couleurs prédéfinie offre une palette de 256 couleurs par défaut. Cependant, vous pouvez spécifier n’importe quel nombre de couleurs en passant un nombre entier à la fonction de palette de couleurs prédéfinie. Par exemple, voici la palette de couleurs hot comptant dix entrées.

c = hot(10);
colormap(c);

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

Vous pouvez également créer votre propre palette de couleurs en tant que tableau de m par 3. Chaque ligne du tableau contient les intensités rouge, verte et bleue d’une couleur différente. Les intensités sont définies sur une plage de [0,1]. Voici une palette de couleurs simple contenant trois entrées.

mycolors = [1 0 0; 1 1 0; 0 0 1];
colormap(mycolors);

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

Si vous utilisez plusieurs axes, vous pouvez affecter une palette de couleurs différente à chaque axe en passant les objets des axes dans la fonction colormap.

tiledlayout(1,2)
ax1 = nexttile;
surf(peaks);
shading interp;
colormap(ax1,parula(10));

ax2 = nexttile;
surf(peaks);
shading interp;
colormap(ax2,cool(10));

Figure contains 2 axes objects. Axes object 1 contains an object of type surface. Axes object 2 contains an object of type surface.

Voir aussi

Rubriques