Maison > développement back-end > Tutoriel Python > Comment créer une palette de couleurs personnalisée avec Matplotlib et afficher une échelle de couleurs ?

Comment créer une palette de couleurs personnalisée avec Matplotlib et afficher une échelle de couleurs ?

Linda Hamilton
Libérer: 2024-11-12 07:17:01
original
304 Les gens l'ont consulté

How to Create a Custom Colormap with Matplotlib and Display a Color Scale?

Carte de couleurs personnalisée avec Matplotlib et Color Scale Plot

Introduction

Les cartes de couleurs personnalisées permettent une visualisation personnalisée des données. Cet article répond à la requête d'un utilisateur concernant la création de sa propre palette de couleurs qui passe en douceur du rouge au violet en passant par le bleu, mappée à des valeurs comprises entre -2 et 2. L'objectif est de colorer les points de données dans un tracé et d'afficher l'échelle de couleurs qui l'accompagne.

Création d'une palette de couleurs

Pour créer une échelle de couleurs continue, une LinearSegmentedColormap est utilisée à la place de la ListedColormap discrète. Une liste de couleurs peut être transmise à la méthode from_list pour générer cette palette de couleurs personnalisée :

import matplotlib.pyplot as plt
import matplotlib.colors

colors = ["red", "violet", "blue"]
cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", colors)
Copier après la connexion

Mappage des couleurs aux valeurs

Pour mapper les couleurs aux valeurs des données, une fonction de normalisation est nécessaire. La fonction Normaliser transforme les valeurs en une plage adaptée à la palette de couleurs :

norm = plt.Normalize(-2, 2)
Copier après la connexion

Traçage avec une palette de couleurs personnalisée

Pour colorer les points du tracé à l'aide de la palette de couleurs personnalisée :

plt.scatter(x, y, c=c, cmap=cmap, norm=norm)
Copier après la connexion

Visualisation de l'échelle de couleurs

Pour afficher l'échelle de couleurs adjacente au tracé :

plt.colorbar()
Copier après la connexion

Généralisation à des données arbitraires

La méthode peut être généralisée pour cartographier n'importe quel ensemble de valeurs aux couleurs :

cvals = [-2., -1, 2]
colors = ["red", "violet", "blue"]

tuples = list(zip(map(norm, cvals), colors))
cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", tuples)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal