Maison  >  Article  >  développement back-end  >  Comment créer des cartes de couleurs et des échelles de couleurs personnalisées avec Matplotlib ?

Comment créer des cartes de couleurs et des échelles de couleurs personnalisées avec Matplotlib ?

DDD
DDDoriginal
2024-11-13 02:31:02938parcourir

How to Create Custom Colormaps and Color Scales with Matplotlib?

Création de cartes de couleurs et d'échelles de couleurs personnalisées avec Matplotlib :

La création d'une carte de couleurs personnalisée dans matplotlib implique un processus simple. Pour établir une échelle de couleurs continue (fluide), envisagez d'utiliser le LinearSegmentedColormap au lieu du ListedColormap.

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

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

# Establishing normalization parameters
norm = plt.Normalize(-2, 2)

# Generating a linear segmented colormap from a list
colormap = matplotlib.colors.LinearSegmentedColormap.from_list("", ["red", "violet", "blue"])

# Plotting the points with the custom colormap
plt.scatter(x, y, c=c, cmap=colormap, norm=norm)

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

plt.show()

Cette méthode garantit une transition de couleur transparente entre les valeurs spécifiées.

Une personnalisation supplémentaire est possible en fournissant des tuples de valeurs normalisées et de couleurs correspondantes à la méthode from_list.

# Custom values and colors
custom_values = [-2, -1, 2]
custom_colors = ["red", "violet", "blue"]

# Generating a segmented colormap from custom tuples
colormap = matplotlib.colors.LinearSegmentedColormap.from_list("", list(zip(map(norm, custom_values), custom_colors)))

# Applying the colormap to the plot
plt.scatter(x, y, c=c, cmap=colormap, norm=norm)
plt.colorbar()

plt.show()

En utilisant ceci technique, vous pouvez créer des palettes de couleurs personnalisées qui représentent précisément vos données.

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!

Déclaration:
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