Resumamos las diferencias entre las funciones imshow y pcolormesh:
- En primer lugar, las cabeceras de las funciones no son las mismas: aparte de otros parámetros, la función imshow acepta como primer parámetro un array (o estructura semejante) conteniendo los datos a mostrar. pcolormesh acepta las posiciones x e y de los bloques a colorear (ambos parámetros opcionales) y los datos en sí (uno menos por dimensión que x e y).
matplotlib.pyplot.imshow(X, ...)
pcolor([x, y,] c, ...)
- Ambas funciones muestran los datos de izquierda a derecha, pero la función imshow considera el origen de coordenadas en la esquina superior izquierda -convención habitual en procesamiento de imágenes- mientras que pcolormesh lo considera en la esquina inferior izquierda:
- Los elementos coloreados son píxels en el caso de imshow y rectángulos en el caso de pcolormesh.
- Los elementos coloreados se muestran en posiciones (i, j) -siendo i y j números enteros consecutivos a partir de 0- en imshow, y, en pcolormesh, en las posiciones dadas por los arrays x e y con los que se llama a la función. Si no se incluyen los parámetros x e y, entonces se muestran también en posiciones de 0 en adelante.
- La función imshow está diseñada para mostrar imágenes, lo que supone que el array de entrada deberá tener tamaño (m, n), (m, n, 3) o (m, n, 4). pcolormesh acepta solo arrays de dos dimensiones (m, n).