Heim >Backend-Entwicklung >Python-Tutorial >Wie erstelle ich eine benutzerdefinierte Farbkarte und füge eine Farbskala in Matplotlib hinzu?

Wie erstelle ich eine benutzerdefinierte Farbkarte und füge eine Farbskala in Matplotlib hinzu?

Susan Sarandon
Susan SarandonOriginal
2024-11-13 05:24:02500Durchsuche

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

Erstellen einer benutzerdefinierten Farbkarte und Einbinden einer Farbskala

Um Ihre eigene Farbkarte zu erstellen, besteht ein Ansatz darin, die Funktion LinearSegmentedColormap aus dem Modul matplotlib.colors zu verwenden. Dieser Ansatz ist einfacher und erzeugt eine kontinuierliche Farbskala.

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()

Dieses Code-Snippet erstellt erfolgreich eine Farbkarte mit einem sanften Übergang von Rot über Violett zu Blau im Bereich von -2 bis 2. Die Farbskala ist ebenfalls vorhanden Rechts vom Diagramm eingefügt, was eine einfache Farbinterpretation ermöglicht.

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine benutzerdefinierte Farbkarte und füge eine Farbskala in Matplotlib hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn