Matplotlib: `pcolormesh.get_array ()` gibt ein abgeflachtes Array zurück - wie bekomme ich 2D-Daten zurück?
Ich versuche, die Datenwerte entlang einer Linie zu erhalten (wie indieser Hinweis). In diesem Beispiel wird @ verwendeimshow()
, aber ich benutze geradepcolormesh()
zum Plotten.
Ich finde, dass dieget_array()
-Funktion, um geplottete Daten von @ zu erfasspcolormesh()
gibt anstelle der ursprünglichen (oder abgeschnittenen) 2D-Daten ein eindimensionales, abgeflachtes Array meiner Daten zurück.
Beispielsweise
D = np.genfromtxt(DataFilePath, skip_header=4, delimiter=',', unpack=True)
print( D.shape )
: (500, 500)
...more code...
img = ax[0].pcolormesh( np.arange( len(D[0,:]) ), np.arange(len(D[:,0])), D)
>>> D
: array([[ 42.38, 41.93, 41.92, ..., 41.73, 41.74, 41.51],
[ 41.88, 42.24, 42.21, ..., 41.88, 41.67, 41.64],
[ 42.4 , 41.47, 41.49, ..., 41.92, 42.07, 41.49],
...,
[ 44.24, 44.14, 44.17, ..., 40.2 , 40.68, 40.67],
[ 44.59, 44.24, 44.3 , ..., 40.91, 40.92, 40.95],
[ 44.2 , 44.27, 44.27, ..., 40.82, 40.91, 40.94]])
>>> img.get_array()
: array([ 42.38, 41.93, 41.92, ..., 40.85, 40.91, 40.92])
Seit ich versuche, Benutzer-Klicks auf das Diagramm zu erfassen und dann mit den angeklickten Datenwerten neu zu zeichnen (wie indieser Hinweis), Ich möchte eine Funktion / Klasse verwenden, die hat keinen globalen Zugriff auf die Originaldaten, hat aber Zugriff auf dasimg
Objekt
Jede Idee, wie ich die 2D-Daten von @ bekompcolormesh()
nur mit demimg
(QuadMesh) Objekt? Es scheint nicht einmal die x / y Länge / Form Werte zu haben, für mich die Daten aus dem 1-D @ zu rekonstruierget_array()
.
Vielen Dank