Esconder Eixos, Fronteiras e Espaços Brancos em Matplotlib

Suraj Joshi 30 janeiro 2023
  1. Esconder o Eixo na Figura Matplotlib
  2. Esconde os Espaços Brancos e Fronteiras em Matplotlib Figura
Esconder Eixos, Fronteiras e Espaços Brancos em Matplotlib

Este tutorial explica como ocultar o eixo na trama utilizando o comando matplotlib.pyplot.axis('off') e como remover todos os espaços em branco, e as bordas na figura enquanto se guarda a figura.

Esconder o Eixo na Figura Matplotlib

Para ocultar o eixo, podemos utilizar o 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:

Esconder o eixo em Matplotlib Figura

Oculta tanto o eixo X como o eixo Y na figura.

Se apenas quisermos desligar quer o eixo X quer o eixo Y, podemos utilizar o método axes.get_xaxis().set_visible() ou 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 o eixo X apenas em Matplotlib Figura

Apenas esconde o eixo X na figura.

Esconde os Espaços Brancos e Fronteiras em Matplotlib Figura

O comando plt.axis('off') esconde o eixo, mas obtemos espaços em branco à volta da fronteira da imagem enquanto a guardamos. Para nos livrarmos dos espaços em branco à volta da fronteira, podemos definir bbox_inches='tight' no método savefig(). Da mesma forma, para remover a borda branca à volta da imagem enquanto definimos pad_inches = 0 no 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)

Imagem guardada:

Esconder os espaços em branco e as bordas em Matplotlib Figura

Guarda as imagens sem qualquer eixo, bordas e espaços em branco utilizando o método savefig().

Também podemos salvar a imagem sem qualquer eixo, bordas, e espaços em branco utilizando o 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

Artigo relacionado - Matplotlib Axes