Ocultar el eje, los bordes y los espacios blancos en Matplotlib

Suraj Joshi 17 diciembre 2020
  1. Ocultar el eje en la figura Matplotlib
  2. Oculta los espacios en blanco y los bordes en la figura Matplotlib
Ocultar el eje, los bordes y los espacios blancos en Matplotlib

Este tutorial explica cómo ocultar el eje en la gráfica usando el comando matplotlib.pyplot.axis('off') y cómo eliminar todos los espacios en blanco y los bordes de la figura mientras se guarda la figura.

Ocultar el eje en la figura Matplotlib

Para ocultar el eje, podemos usar el comando matplotlib.pyplot.axis('off').

import numpy as np
import matplotlib.pyplot as plt

img = np.random.randn(10, 10)
plt.imshow(img)
plt.axis("off")

plt.show()

Resultado:

Ocultar el eje en Matplotlib Figura

Oculta tanto el eje X como el eje Y en la figura.

Si sólo queremos desactivar el eje X o el Y, podemos usar el método axes.get_xaxis().set_visible() o axes.get_xaxis().set_visible() respectivamente.

import numpy as np
import matplotlib.pyplot as plt

img = np.random.randn(10, 10)

fig = plt.imshow(img)
ax = plt.gca()
ax.get_xaxis().set_visible(False)

plt.show()

Resultado:

Ocultar el eje X sólo en Matplotlib Figura

Sólo esconde el eje X en la figura.

Oculta los espacios en blanco y los bordes en la figura Matplotlib

El comando plt.axis('off') oculta el eje, pero obtenemos espacios en blanco alrededor del borde de la imagen mientras la guardamos. Para deshacerse de los espacios blancos alrededor del borde, podemos poner bbox_inches='tight' en el método savefig(). De manera similar, para eliminar el borde blanco alrededor de la imagen mientras establecemos pad_inches = 0 en el método savefig().

import numpy as np
import matplotlib.pyplot as plt

img = np.random.randn(10, 10)

fig = plt.imshow(img)
plt.axis("off")
plt.savefig("image.png", bbox_inches="tight", pad_inches=0)

Imagen guardada:

Ocultar los espacios blancos y los bordes en la figura de Matplotlib

Guarda las imágenes sin ningún eje, bordes y espacios en blanco usando el método savefig().

También podemos guardar la imagen sin eje, bordes y espacios en blanco usando el método matplotlib.pyplot.imsave().

import numpy as np
import matplotlib.pyplot as plt

img = np.random.randn(100, 100)
plt.imsave("kapal.png", img)
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artículo relacionado - Matplotlib Axes