Cartes de couleurs dans Matplotlib | Quand les graphistes rencontrent Matplotlib

Contenu

Vos propres cartes de couleurs

Pas intéressé par toutes les cartes de couleurs fournies? Ou avez-vous besoin d'autres cartes de couleurs fantaisie? Le cas échéant, tu dois lire ce post jusqu'au bout. Je vais vous guider à travers la personnalisation et la création de vos propres cartes de couleurs.

Mais avant de le personnaliser, Je vais vous montrer un exemple d'utilisation de cartes de couleurs. j'ai utilisé le ‘RdYlBu_r‘Cartes de couleurs pour visualiser mes données.

1repkpehdtxe5fnu_hqcdwq-9117981

Modifions vos propres cartes de couleurs.

En premier lieu, nous devons créer des données simulées qui seront affichées, en utilisant ce code

# importer des bibliothèques /  modules
importer numpy en tant que np
importer matplotlib.pyplot en tant que plt# créer des données fictives
données = np.aléatoire.aléatoire([100, 100]) * 10

La variable de datos es una matriz que consta de 100 X 100 nombres aléatoires de 0 Al 10. Vous pouvez le vérifier en écrivant ce code.

1raeoqngyzq9yat_wcpwtsw-5346265

Après cela, nous afficherons les données simulées avec les palettes de couleurs par défaut en utilisant le code simple ci-dessous.

plt.figure(taille de la figue=(7, 6))plt.pcolormesh(Les données)
plt.colorbar()

El código le mostrará una chiffre Comment ça va.

1tfqp4c5biki3t9pkbgbyzg-4916891

Comme je l'ai mentionné auparavant, si vous n'avez pas défini les palettes de couleurs que vous avez utilisées, vous obtiendrez les palettes de couleurs par défaut, appelé ‘viridis'.

Ensuite, Je vais changer les cartes de couleurs de ‘viridis'une’ inferno 'color maps avec ce code-

plt.pcolormesh(Les données, cmap='enfer')

Vous obtiendrez le résultat comme ceci. Viridis

1epy4iobkukeblowmmffuxw-3368622


Modifier les palettes de couleurs

À présent, pour modifier les cartes de couleurs, vous devez importer ces sous-bibliothèques suivantes dans Matplotlib.

de matplotlib importer cm
de matplotlib.colors importer ListedColormap,LinéaireSegmentéColormap

Pour modifier le numéro de classe de couleur dans vos palettes de couleurs, tu peux utiliser ce code

new_inferno = cm.get_cmap('enfer', 5)# visualiser avec les colormaps new_inferno
plt.pcolormesh(Les données, cmap = new_inferno)
plt.colorbar()

et vous obtiendrez un résultat comme celui-ci

1n-yfpe64xds4tcvf3v06q-4397422

La prochaine chose est de modifier la couleur de la gamme dans une palette de couleurs. Je vais vous donner un exemple en color maps ‘hsv’. Vous devez comprendre la gamme de couleurs avec cette figure.

1knljmcykkacavlqwj-nqla-4189041

Si nous voulons utiliser uniquement la couleur verte (environ 0.3) à la couleur bleue (0.7), nous pouvons utiliser le code suivant.

# hsv modifié dans 256 classe de couleur
hsv_modified = cm.get_cmap('hsv', 256)# créer de nouvelles palettes de couleurs hsv dans la plage de 0.3 (vert) à 0.7 (bleu)
newcmp = ListedColormap(hsv_modified(par exemple linspace(0.3, 0.7, 256)))# montrer le chiffre
plt.figure(taille de la figue=(7, 6))
plt.pcolormesh(Les données, cmap = nouveaucmp)
plt.colorbar()

Cela vous donnera un chiffre comme celui-ci

19ntdb0aolk9bhlbwmqs2cw-9548003

Créer vos propres cartes de couleurs

Pour créer vos propres cartes de couleurs, il y a au moins deux méthodes. Premier, vous pouvez combiner deux palettes de couleurs séquentielles dans Matplotlib. En second lieu, vous pouvez sélectionner et assortir votre couleur préférée en RVB pour créer des cartes de couleurs.

Nous vous ferons une démonstration de la combinaison de deux palettes de couleurs séquentielles pour créer une nouvelle palette de couleurs. Nous voulons combiner « Oranges’ et "Bleu".

1rlilduduamx11de4uxoumg-4097986

Vous pouvez lire attentivement ce code.

# cartes de couleurs haut et bas establece
haut = cm.get_cmap('Oranges_r', 128) # r signifie version inversée
bas = cm.get_cmap('Bleu', 128)# combiner le tout
nouvelles couleurs = np.vstack((Haut(par exemple linspace(0, 1, 128)),
                       bas(par exemple linspace(0, 1, 128))))# créer une nouvelle palette de couleurs avec le nom OrangeBlue
orange_blue = ListedColormap(nouvelles couleurs, nom="OrangeBlue")

Si vous affichez les données simulées à l'aide des cartes de couleurs « OrangeBlue », vous obtiendrez un chiffre comme celui-ci.

1wncg6ygkxwhaztqtu14hww-1044333

La prochaine chose est de créer une palette de couleurs à partir de deux couleurs différentes que vous aimez. Pour ce cas, Je vais essayer de le créer à partir de la couleur jaune et rouge comme indiqué dans l'image suivante.

1virwxzf6rw2olkbdd0wltg-1192361

Premier, vous devez créer des cartes jaunes

# créer des palettes de couleurs jaunesN = 256jaune = np.ones((N, 4))jaune[:, 0] = par exemple linspace(255/256, 1, N) # R = 255
jaune[:, 1] = par exemple linspace(232/256, 1, N) # G = 232
jaune[:, 2] = par exemple linspace(11/256, 1, N)  # B = 11yellow_cmp = ListedColormap(jaune)

et cartes rouges

rouge = np.ones((N, 4))rouge[:, 0] = par exemple linspace(255/256, 1, N)
rouge[:, 1] = par exemple linspace(0/256, 1, N)
rouge[:, 2] = par exemple linspace(65/256, 1, N)red_cmp = ListedColormap(rouge)

L'affichage de carte jaune et rouge que vous avez créé est montré dans l'image suivante

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.