"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment créer une palette de couleurs personnalisée et ajouter une échelle de couleurs dans Matplotlib ?

Comment créer une palette de couleurs personnalisée et ajouter une échelle de couleurs dans Matplotlib ?

Publié le 2024-11-16
Parcourir:563

How to Create a Custom Colormap and Add a Color Scale in Matplotlib?

Création d'une carte de couleurs personnalisée et incorporation d'une échelle de couleurs

Pour créer votre propre carte de couleurs, une approche consiste à utiliser la fonction LinearSegmentedColormap du module matplotlib.colors. Cette approche est plus simple et produit une échelle de couleurs continue.

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.colors

# Generate random data points
x, y, c = zip(*np.random.rand(30, 3) * 4 - 2)

# Define lower and upper bounds for normalization
norm = plt.Normalize(-2, 2)

# Create a list of tuples representing the values and corresponding colors
tuples = [(norm(-2.), 'red'), (norm(-1.), 'violet'), (norm(2.), 'blue')]

# Generate the colormap from the list of tuples
cmap = matplotlib.colors.LinearSegmentedColormap.from_list('', tuples)

# Plot the data points using the custom colormap
plt.scatter(x, y, c=c, cmap=cmap, norm=norm)

# Add a color scale to the plot
plt.colorbar()
plt.show()

Cet extrait de code crée avec succès une palette de couleurs avec une transition douce du rouge au violet en passant par le bleu, allant de -2 à 2. L'échelle de couleurs est également incorporée à droite du tracé, permettant pour une interprétation facile des couleurs.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3