Mit Matplotlib möchte ich eine 2D-Heatmap zeichnen. Meine Daten sind ein n-mal-n-Numpy-Array mit einem Wert zwischen 0 und 1. Für das (i, j) -Element dieses Arrays möchte ich ein Quadrat an der (i, j) -Koordinate in my zeichnen Heatmap, deren Farbe proportional zum Wert des Elements im Array ist.
Wie kann ich das machen?
python
numpy
matplotlib
Karnivaurus
quelle
quelle
matplotlib
Galerie vor dem Posten überhaupt angesehen? Es gibt einige gute Beispiele, die verwendenimshow
,pcolor
undpcolormesh
die tun, was Sie wollenAntworten:
Die
imshow()
Funktion mit Parameterninterpolation='nearest'
undcmap='hot'
sollte machen was Sie wollen.quelle
Seaborn erledigt einen Großteil der manuellen Arbeit und zeichnet automatisch einen Farbverlauf an der Seite des Diagramms usw.
Oder Sie können sogar obere / untere linke / rechte Dreiecke von quadratischen Matrizen zeichnen, z. B. eine Korrelationsmatrix, die quadratisch und symmetrisch ist, sodass das Zeichnen aller Werte ohnehin redundant wäre.
quelle
Für ein 2D-
numpy
Array kann die einfache Verwendungimshow()
hilfreich sein:Dieser Code erstellt eine kontinuierliche Heatmap.
Sie können eine andere in integrierten wählen
colormap
von hier .quelle
Ich würde die pcolor / pcolormesh- Funktion von matplotlib verwenden, da sie einen ungleichmäßigen Abstand der Daten ermöglicht.
Beispiel aus matplotlib :
quelle
So geht's mit einer CSV:
wo
dat.xyz
ist in der Formquelle