Python - Exportieren Sie ein zweidimensionales Histogramm von Matplotlib als Array

Die Methode zum Zeichnen eines zweidimensionalen Histogramms mit Python ist unter Verwendung von Matplotlib oder OpenCV bekannt.

Beachten Sie in diesem Artikel beim Erstellen eines 2D-Histogramms mit Matplotlib, wie Sie das Histogramm als 2D-Array in eine Textdatei exportieren.

[Python] Zweidimensionales Histogramm mit Matplotlib

Der Artikel von @ Supersaiakujin wird empfohlen, um mit Matplotlib ein zweidimensionales Histogramm zu erstellen.

[Python] Erstellen eines zweidimensionalen Histogramms mit Matplotlib

Der Umriss besteht darin, ein zweidimensionales Histogramm zu erstellen, indem zwei Numpy-Arrays, die die Originaldaten sind, an die Funktion "hist2d" der Bibliothek "Matplotlib" übergeben werden.

Es ist zu beachten, dass für die beiden Numpy-Arrays, die die Originaldaten sind, "ein Array mit nur x-Koordinaten" und "ein Array mit nur y-Koordinaten" erstellt werden muss.

Figure_1.png Ein solches zweidimensionales Histogramm kann mit dem folgenden Beispielprogramm geschrieben werden.

hist2d


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

#Originale Daten
x = (1.1,1.1,3.2,3.1,1.1,2.1,1.1)
y = (-1.1,-2.1,-2.1,-2.1,-3.1,-2.1,-2.1)

#Vorbereitung zum Zeichnen
fig = plt.figure()
ax = fig.add_subplot(111)

#Erstellen Sie das Histogramm hist2d(Array,Array,Zeichnungsbereich angeben(Untergrenze, Obergrenze, Anzahl der Abteilungen),Farbbalken-Farbspezifikation)
H = ax.hist2d(x,y, bins=[np.linspace(-5,5,10),np.linspace(-5,5,10)], cmap=cm.jet)
ax.set_title('1st graph')
ax.set_xlabel('x')
ax.set_ylabel('y')
fig.colorbar(H[3],ax=ax)
plt.show()

Exportieren Sie die Werte des zweidimensionalen Histogramms als Array

Die Speicherfunktion von numpy ist praktisch, um die Werte des zweidimensionalen Histogramms als Array in eine Textdatei oder CSV zu schreiben.

savetxt


#Erstellen Sie das Histogramm hist2d(Array,Array,Zeichnungsbereich angeben(Untergrenze, Obergrenze, Anzahl der Abteilungen),Farbbalken-Farbspezifikation)
H = ax.hist2d(x,y, bins=[np.linspace(-5,5,10),np.linspace(-5,5,10)], cmap=cm.jet)
np.savetxt("2Dhist-array.txt", H[0], fmt = "%s")

Wenn Sie den Rückgabewert von hist2d im offiziellen Matplotlib-Handbuch überprüfen, können Sie sehen, dass der erste Rückgabewert der Wert des Histogramms ist. Daher wird H [0] herausgenommen.

fmt = "% s" ist ein Zeichenfolgenformat.

hist2d
H[0] Der Wert des Histogramms(Ein zweidimensionales Array)
H[1] x-Achsen-Teilungswert (eindimensionales Array)
H[2] Teilungswert der Y-Achse (eindimensionales Array)
H[3] Farbbalkeninformationen(QuadMesh)

Matplotlib.pyplot.hist2d

#Erstellen Sie das Histogramm hist2d(Array,Array,Zeichnungsbereich angeben(Untergrenze, Obergrenze, Anzahl der Abteilungen),Farbbalken-Farbspezifikation)
H = ax.hist2d(x,y, bins=[np.linspace(-5,5,10),np.linspace(-5,5,10)], cmap=cm.jet)
print(H[0])
>>>[[0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 1. 2. 1. 0. 0. 0. 0. 0.]
 [0. 0. 1. 0. 0. 0. 0. 0. 0.]
 [0. 0. 2. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0.]]

Soweit das Ausgabearray zu sehen ist, wird entlang der y-Achse ein eindimensionales Array erzeugt.

Ich habe diesen Code zusammengestellt.

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

#Originale Daten
x = (1.1,1.1,3.2,3.1,1.1,2.1,1.1)
y = (-1.1,-2.1,-2.1,-2.1,-3.1,-2.1,-2.1)

#Vorbereitung zum Zeichnen
fig = plt.figure()
ax = fig.add_subplot(111)

#Erstellen Sie das Histogramm hist2d(Array,Array,Zeichnungsbereich angeben,Farbbalken-Farbspezifikation)
H = ax.hist2d(x,y, bins=[np.linspace(-5,5,10),np.linspace(-5,5,10)], cmap=cm.jet)
ax.set_title('1st graph')
ax.set_xlabel('x')
ax.set_ylabel('y')
fig.colorbar(H[3],ax=ax)
plt.show()

#Exportieren Sie ein 2D-Histogramm in eine Textdatei
np.savetxt("2Dhist-array.txt", H[0], fmt = "%s")

Recommended Posts

Python - Exportieren Sie ein zweidimensionales Histogramm von Matplotlib als Array
[Wissenschaftlich-technische Berechnung mit Python] Histogramm, Visualisierung, Matplotlib
[Python] So erstellen Sie mit Matplotlib ein zweidimensionales Histogramm
Sortieren Sie schnell ein Array in Python 3
Python: 3D-Array-Bild (numpy.array)
Transparente Überlagerung des Histogramms durch Matplotlib
Zweidimensionale Python-Array-Falle [Kopie des Arrays]
Python> Link> Initialisierung und Zuweisung von 2D-Arrays
Beispiel einer dreidimensionalen Skelettanalyse von Python
Erstellen Sie eine Anwendung, die Formulare mithilfe von Python / Flask anstelle von DB eingibt, anzeigt und löscht.
[Wissenschaftlich-technische Berechnung mit Python] Zeichnen, visualisieren, matplotlib 2D-Daten mit Fehlerleiste
[Wissenschaftlich-technische Berechnung von Python] Zeichnung von 3D-gekrümmter Oberfläche, Oberfläche, Drahtrahmen, Visualisierung, Matplotlib
[Python] Grenzachse des 3D-Graphen mit Matplotlib
[Python] Wie zeichnet man mit Matplotlib ein Histogramm?
Erstellen Sie ein 3D-Streudiagramm mit SciPy + matplotlib (Python)
Reduzieren Sie eine unregelmäßige zweidimensionale Standardliste in Python
[Wissenschaftlich-technische Berechnung mit Python] Plot, Visualisierung, Matplotlib von 2D-Daten, die aus einer Datei gelesen wurden
[Wissenschaftlich-technische Berechnung mit Python] Zeichnen, Visualisieren, Matplotlib von 2D-Konturlinien (Farbkonturen) usw.