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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage