Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstelle ich eine benutzerdefinierte Farbkarte, die Rot, Violett und Blau mischt, um Werte zwischen -2 und 2 darzustellen?

Wie erstelle ich eine benutzerdefinierte Farbkarte, die Rot, Violett und Blau mischt, um Werte zwischen -2 und 2 darzustellen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-12 12:02:02387Durchsuche

How to Generate a Custom Colormap Blending Red, Violet, and Blue for Plotting Values Between -2 and  2?

Erstellung einer benutzerdefinierten Farbkarte und Verbesserung der Farbskala

Bei dieser technischen Untersuchung besteht die Herausforderung darin, eine benutzerdefinierte Farbkarte zu erstellen, die Rot, Violett und Blau reibungslos mischt und darauf abbildet Werte zwischen -2 und 2. Das ultimative Ziel besteht darin, diese Farbkarte zum Färben von Koordinaten in einem Diagramm zu verwenden und eine Farbskala als Referenz einzuschließen.

Farbkarten-Generierung

Um dies zu erreichen, wird eine linear segmentierte Farbkarte verwendet beschäftigt. Im Gegensatz zur ListedColormap, die im ersten Ansatz erwähnt wurde, ermöglicht die LinearSegmentedColormap einen glatten und kontinuierlichen Farbverlauf. Um die Farbkarte zu erstellen, verwenden wir die Methode LinearSegmentedColormap.from_list und geben die gewünschten Farben als Liste an.

Farbzuordnung und -darstellung

Der nächste Schritt umfasst die Zuordnung der Farben zu den Datenwerten. Hier wird die Normalisierungsfunktion verwendet, um die Werte im Bereich von -2 bis 2 zu normalisieren. Das Streudiagramm wird dann verwendet, um die Koordinaten anzuzeigen, wobei die benutzerdefinierte Farbkarte und die normalisierten Werte verwendet werden.

Farbskalenaddition

Um die Lesbarkeit der Darstellung zu verbessern, ist eine Farbskala unerlässlich. Die Colorbar-Funktion wird verwendet, um dem Diagramm eine Farbskala hinzuzufügen und eine visuelle Darstellung der Farbkarte und des entsprechenden Wertebereichs bereitzustellen.

Beispielimplementierung

Zur Veranschaulichung des Prozesses der folgende Codeausschnitt demonstriert die Erstellung einer benutzerdefinierten Farbkarte und ihre Anwendung auf ein Diagramm:

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

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

norm = plt.Normalize(-2, 2)
cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", ["red", "violet", "blue"])

plt.scatter(x, y, c=c, cmap=cmap, norm=norm)
plt.colorbar()
plt.show()

Durch Befolgen dieser Schritte kann man effektiv eine glatte und kontinuierliche benutzerdefinierte Farbkarte erstellen, Farben Datenwerten zuordnen und eine Farbskala integrieren zum besseren Verständnis der Handlung und ihrer Werte.

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine benutzerdefinierte Farbkarte, die Rot, Violett und Blau mischt, um Werte zwischen -2 und 2 darzustellen?. 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