Matplotlib: `pcolormesh.get_array ()` devuelve una matriz aplanada: ¿cómo recuperar datos 2D?

Estoy tratando de obtener los valores de datos a lo largo de una línea (como enesta pista) Ese ejemplo usaimshow(), pero actualmente estoy usandopcolormesh() para trazar.

Estoy descubriendo que elget_array() función, para tomar datos trazados depcolormesh() está devolviendo una matriz aplanada 1-D de mis datos, en lugar de los datos 2-D originales (o truncados).

Por ejemplo:

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])

Como estoy tratando de obtener clics de usuario en el gráfico y luego volver a trazar usando los valores de datos clicados (como enesta pista), Me gustaría usar una función / clase queno tendrá acceso global a los datos originales, pero tiene acceso aimg objeto.

Alguna idea de cómo obtengo los datos 2D depcolormesh() usando solo elimg(QuadMesh) objeto? Ni siquiera parece tener los valores de longitud / forma x / y, para que yo pueda reconstruir los datos del 1-Dget_array().

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta