„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 16.11.2024
Durchsuche:856

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 auch rechts vom Diagramm integriert, was dies ermöglicht für eine einfache Farbinterpretation.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3