Nascondi assi, bordi e spazi bianchi in Matplotlib

Suraj Joshi 30 marzo 2021
  1. Nascondi l’asse nella figura Matplotlib
  2. Nascondere gli spazi bianchi e i bordi nella figura Matplotlib
Nascondi assi, bordi e spazi bianchi in Matplotlib

Questo tutorial spiega come nascondere l’asse nel grafico usando il comando matplotlib.pyplot.axis('off') e come rimuovere tutti gli spazi bianchi e i bordi nella figura mentre si salva la figura.

Nascondi l’asse nella figura Matplotlib

Per nascondere l’asse, possiamo usare il 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()

Produzione:

Nascondi l’asse in Matplotlib Figure

Nasconde sia l’asse X che l’asse Y nella figura.

Se vogliamo solo disattivare l’asse X o l’asse Y, possiamo usare rispettivamente il metodo axes.get_xaxis().set_visible() o axes.get_xaxis().set_visible().

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

Produzione:

Nascondi l’asse X solo nella figura Matplotlib

Nasconde solo l’asse X nella figura.

Nascondere gli spazi bianchi e i bordi nella figura Matplotlib

Il comando plt.axis('off') nasconde l’asse, ma durante il salvataggio si ottengono spazi bianchi attorno al bordo dell’immagine. Per eliminare gli spazi bianchi attorno al bordo, possiamo impostare bbox_inches='tight' nel metodo savefig(). Allo stesso modo, per rimuovere il bordo bianco intorno all’immagine impostando pad_inches = 0 nel metodo 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)

Immagine salvata:

Nascondere gli spazi bianchi e i bordi in Matplotlib Figure

Salva le immagini senza assi, bordi e spazi bianchi usando il metodo savefig().

Possiamo anche salvare l’immagine senza assi, bordi e spazi bianchi usando il metodo matplotlib.pyplot.imsave().

import numpy as np
import matplotlib.pyplot as plt

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

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

LinkedIn

Articolo correlato - Matplotlib Axes