Skip to content
Anleitungen
Matplotlib
Mastering Custom Colormaps in Matplotlib: A Comprehensive Guide

Colormaps in Matplotlib: Ein umfassender Leitfaden

Die Datenvisualisierung ist eine entscheidende Fähigkeit im Werkzeugkasten eines jeden Datenwissenschaftlers. Sie hilft dabei, komplexe Daten zu verstehen, Muster zu finden und Intuitionen zu entwickeln, die Machine Learning-Algorithmen leiten. Unter den beliebten Datenvisualisierungsbibliotheken in Python sticht eine heraus - Matplotlib. Ihre Leistungsfähigkeit und Vielseitigkeit ermöglichen es Ihnen, eine Vielzahl von statischen, animierten und interaktiven Diagrammen zu erstellen. In diesem Tutorial werden wir tief in einen wesentlichen Aspekt der Datenvisualisierung eintauchen - Colormaps in Matplotlib.

Wollen Sie Data Visualization schnell und ohne Code aus Python-Pandas-Dataframe erstellen?

PyGWalker ist eine Python-Bibliothek für die explorative Datenanalyse mit Visualisierung. PyGWalker (opens in a new tab) kann Ihren Workflow für die Datenanalyse und Datenvisualisierung in Jupyter Notebook vereinfachen, indem es Ihren Pandas-Dataframe (und Polars-Dataframe) in eine Tableau-ähnliche Benutzeroberfläche für die visuelle Exploration verwandelt.

PyGWalker für Datenvisualisierung (opens in a new tab)

Was sind Colormaps?

Colormaps sind ein wesentlicher Bestandteil der Visual Data Analysis. Sie ordnen Datenwerten Farben zu und helfen unserem Gehirn, Muster in den Daten zu erkennen. Matplotlib bietet eine Vielzahl von vordefinierten Colormaps, von sequenziellen Colormaps über divergierende Colormaps und qualitative Colormaps bis hin zu zyklischen Colormaps. Manchmal reichen diese jedoch möglicherweise nicht aus. Hier kommen benutzerdefinierte Colormaps ins Spiel.

Erstellen benutzerdefinierter Colormaps

Verständnis der Colormap-Typen

Bevor wir lernen, wie man neue Colormaps erstellt, ist es wichtig, die verschiedenen Arten von Colormaps zu verstehen, die zur Verfügung stehen. Dies wird uns helfen, Colormaps effektiv zu modifizieren.

  1. Sequentielle Colormaps: Diese Colormaps variieren sanft in Helligkeit und oft auch in Farbton. Sie eignen sich ideal zur Darstellung kontinuierlicher, geordneter Daten. Zu den beliebten Beispielen gehören die 'Hot Colormap' und die 'Rdbu Colormap'. Hier erfahren Sie, wie Sie diese modifizieren können hier.

  2. Divergierende Colormaps: Diese Colormaps variieren in Helligkeit und möglicherweise auch in Farbton in zwei unterschiedlichen Richtungen. Sie sind nützlich, wenn die Daten einen signifikanten Medianwert haben (zum Beispiel null).

  3. Qualitative Colormaps: Diese werden häufig für kategoriale Daten verwendet, da sie sich schnell im Farbton unterscheiden.

  4. Zyklische Colormaps: Diese Colormaps werden für Daten verwendet, die an den Endpunkten zurückkehren, z.B. Phasenwinkel, Windrichtung oder Tageszeit.

Generierung eines zufälligen Datensatzes

Beginnen wir damit, einen zufälligen Datensatz mithilfe der pandas-Bibliothek zu generieren. Dieser Datensatz wird uns helfen, die Auswirkungen unserer benutzerdefinierten Colormaps zu visualisieren. Erfahren Sie hier, wie Sie einen zufälligen Datensatz generieren können hier.

Erstellung benutzerdefinierter Colormaps in Matplotlib

Die Erstellung benutzerdefinierter Colormaps in Matplotlib ist einfach. Sie können eine Colormap aus einer Liste von Farben (angegeben in jedem Farbformat von Matplotlib) definieren, und die Farben werden gleichmäßig in der Colormap verteilt sein. So können Sie beispielsweise eine Colormap erstellen, die von Rot nach Blau übergeht:

import matplotlib.pyplot as plt
import numpy as np
 
colormap = plt.cm.colors.ListedColormap(['red', 'blue'])

Modifizieren vorhandener Colormaps

Sie können auch vorhandene Colormaps mit der Colormap-Klasse in Matplotlib modifizieren. Sie können eine neue Colormap aus einer vorhandenen Colormap erstellen, indem Sie die Funktion get_cmap verwenden und dann die RGBA-Farbe direkt modifizieren. Hier erfahren Sie mehr dazu hier.

Datenvisualisierung mit benutzerdefinierten Colormaps

Jetzt, da wir eine benutzerdefinierte Colormap haben, visualisieren wir unsere Daten. Wir verwenden Unterplots, um unsere benutzerdefinierte Colormap mit einer Standard-Colormap zu vergleichen. Erfahren Sie hier mehr über die Erstellung von Unterplots hier.

fig, axs = plt.subplots(2)
 
# Verwendung der Standard-Colormap
img1 = axs[0].imshow(data, cmap='viridis')
fig.colorbar(img1, ax=axs[0], orientation='vertical')
axs[0].set_title('Standard-Colormap')
 
# Verwendung der benutzerdefinierten Colormap
img2 = axs[1].imshow(data, cmap=colormap)
fig.colorbar(img2, ax=axs[1], orientation='vertical')
axs[1].set_title('Benutzerdefinierte Colormap')
 
plt.show()

In dem obigen Code wird imshow verwendet, um Daten als Bild anzuzeigen, wobei die Farbintensität auf den Datenwerten basiert. Die Funktion colorbar fügt unseren Unterplots eine Farbskala hinzu, und die Funktion set_title legt den Titel für unsere Unterplots fest.

Über Matplotlib hinaus: Seaborn, Plotly und mehr

Obwohl Matplotlib eine leistungsstarke Bibliothek ist, ist sie nicht die einzige Bibliothek für die Datenvisualisierung in Python. Bibliotheken wie Seaborn und Plotly bieten ebenfalls großartige Funktionen und lassen sich sogar gut mit Matplotlib integrieren. Seaborn zum Beispiel basiert auf Matplotlib und bringt zusätzliche Diagrammtypen mit sich. Es lässt Ihre Diagramme standardmäßig besser aussehen. Plotly hingegen ist auf die Erstellung interaktiver Diagramme spezialisiert. Weitere Informationen zu diesen Bibliotheken finden Sie hier.

Fazit

Im Bereich der Datenvisualisierung nimmt die Kontrolle und Anpassung von Farben einen prominenten Platz ein. Das Verständnis und die effektive Verwendung von Colormaps können Ihre visuelle Datenanalyse erheblich verbessern. Denken Sie daran, dass die Wahl der Colormap entweder den wichtigen Aspekt Ihrer Daten hervorheben oder die Interpretation irreführen kann. Wir hoffen, dass dieser Leitfaden Ihnen wertvolle Einblicke in die Erstellung, Modifikation und effektive Verwendung von benutzerdefinierten Farbverläufen in Matplotlib gegeben hat. Während Sie Ihre Reise in den Bereichen Datenwissenschaft und maschinelles Lernen fortsetzen, werden sich solche Fähigkeiten als unschätzbare Assets erweisen. Für weitere Tutorials zu pandas und anderen Python-Themen besuchen Sie bitte unser Tutorial-Index.