Wie man eine 2D-Heatmap mit Matplotlib plotten kann

Suraj Joshi 12 April 2022
  1. imshow() Funktion zum Plotten einer 2D-Heatmap
  2. 2D-Heatmap mit Seaborn-Bibliothek
  3. Funktion pcolormesh()
Wie man eine 2D-Heatmap mit Matplotlib plotten kann

Um eine 2D-Heatmap zu zeichnen, können wir eine der folgenden Methoden verwenden:

  • imshow() Funktion mit den Parametern interpolation='nearest' und cmap='hot'
  • Seaborn - Bibliothek
  • Funktion pcolormesh()

imshow() Funktion zum Plotten einer 2D-Heatmap

Syntax, denn wir können die imshow-Funktion verwenden:

matplotlib.pyplot.imshow(X,
                         cmap=None,
                         norm=None,
                         aspect=None,
                         interpolation=None,
                         alpha=None,
                         vmin=None,
                         vmax=None,
                         origin=None,
                         extent=None,
                         shape= < deprecated parameter > ,
                         filternorm=1,
                         filterrad=4.0,
                         imlim= < deprecated parameter > ,
                         resample=None,
                         url=None,
                         *,
                         data=None,
                         **kwargs)

Beispiel-Codes:

import numpy as np
import matplotlib.pyplot as plt

data = np.random.random((8, 8))
plt.imshow(data, cmap="cool", interpolation="nearest")
plt.show()

2D-Histogramm mit der Funktion imshow

cmap ist eine Farbkarte und wir können auch eine andere eingebaute colormaps von hier wählen.

interpolation ist die Interpolationsmethode, die nearest, bilinear, hamming, etc. sein kann.

2D-Heatmap mit Seaborn-Bibliothek

Die Seaborn-Bibliothek ist auf der Matplotlib aufgebaut. Wir könnten die seaborn.heatmap() Funktion verwenden, um eine 2D-Heatmap zu erstellen.

import numpy as np
import seaborn as sns
import matplotlib.pylab as plt

data = np.random.rand(8, 8)
ax = sns.heatmap(data, linewidth=0.3)
plt.show()

2D-Histogramm mit seaborn

Seaborn zeichnet auch ein Gefälle an der Seite der heatmap auf.

Funktion pcolormesh()

Eine andere Möglichkeit, eine 2D-Heatmap zu plotten, ist die Verwendung der Funktion pcolormesh() , die ein Pseudo-Farbplot mit einem unregelmäßigen rechteckigen Gitter erzeugt. Dies ist eine schnellere Alternative zur Funktion pcolor().

import numpy as np
import matplotlib.pyplot as plt

b, a = np.meshgrid(np.linspace(0, 5, 130), np.linspace(0, 5, 130))

c = (a ** 2 + b ** 2) * np.exp(-(a ** 2) - b ** 2)
c = c[:-1, :-1]
l_a = a.min()
r_a = a.max()
l_b = b.min()
r_b = b.max()
l_c, r_c = -np.abs(c).max(), np.abs(c).max()

figure, axes = plt.subplots()

c = axes.pcolormesh(a, b, c, cmap="copper", vmin=l_c, vmax=r_c)
axes.set_title("Heatmap")
axes.axis([l_a, r_a, l_b, r_b])
figure.colorbar(c)

plt.show()

Ausgabe:

2D-Histogramm mit pcolormesh-Funktion

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn