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

Wie erstelle ich eine benutzerdefinierte Farbkarte und Farbskala in Matplotlib?

Susan Sarandon
Freigeben: 2024-11-14 19:49:01
Original
299 Leute haben es durchsucht

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

Erstellen Sie eine benutzerdefinierte Farbkarte und Farbskala in Matplotlib

Problem:

Entwerfen Sie eine benutzerdefinierte Farbkarte, die sanft von Rot über Violett zu Blau übergeht und Werte zwischen -2 und 2 abbildet. Verwenden Sie die Farbkarte, um Punkte in einem Diagramm einzufärben und die zugehörige Farbskala anzuzeigen.

Implementierung:

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

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

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

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

# Add color scale
plt.colorbar()
plt.show()
Nach dem Login kopieren

Erläuterung:

  • LinearSegmentedColormap: Anstelle einer ListedColormap, die diskrete Farben erzeugt, haben wir Verwenden Sie eine LinearSegmentedColormap, um einen kontinuierlichen Farbverlauf zu erstellen.
  • Normalisierung: Die Funktion Normalisieren ordnet die Datenwerte einem Bereich zwischen 0 und 1 zu. Sicherstellen, dass die Farben ordnungsgemäß verteilt sind.
  • RGBA-Spezifikation: Die Farben werden als Zeichenfolgen der gewünschten Farbnamen angegeben.
  • Streudiagramm: Die Datenpunkte werden mithilfe der benutzerdefinierten Farbkarte dargestellt und jedem Punkt wird eine Farbe basierend auf seinem entsprechenden Datenwert zugewiesen.
  • Farbskala: Die Farbleiste zeigt die Farbe an Farbverlauf und die zugeordneten Werte, sodass der Benutzer die Farb-Wert-Beziehung visualisieren kann.

Zusätzliche Überlegungen:

  • Mehrere Werte: Um eine Farbkarte zu erstellen, die mehr als drei Werte Farben zuordnet, geben Sie zusätzliche Tupel normalisierter Werte und Farben in der Methode from_list an.
  • Farbleisten-Ticks: Passen Sie die Ticks der Farbleiste mit der Methode set_ticks an, um die angezeigten Werte anzupassen.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage