J'ai le code suivant:
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import matplotlib.cm as cm
img = mpimg.imread("lena.jpg")
f, axarr = plt.subplots(2, 2)
axarr[0,0].imshow(img, cmap = cm.Greys_r)
axarr[0,0].set_title("Rank = 512")
rank = 128
new_img = Prune_matrix(rank, img)
axarr[0,1].imshow(new_img, cmap = cm.Greys_r)
axarr[0,1].set_title("Rank = %s" %rank)
rank = 32
new_img = Prune_matrix(rank, img)
axarr[1,0].imshow(new_img, cmap = cm.Greys_r)
axarr[1,0].set_title("Rank = %s" %rank)
rank = 16
new_img = Prune_matrix(rank, img)
axarr[1,1].imshow(new_img, cmap = cm.Greys_r)
axarr[1,1].set_title("Rank = %s" %rank)
plt.show()
Cependant, le résultat est assez moche à cause des valeurs sur les axes:
Comment puis-je désactiver les valeurs des axes pour toutes les sous-parcelles simultanément?
Vous pouvez désactiver les axes en suivant les conseils du commentaire de Veedrac (en reliant ici ) avec une petite modification.
Plutôt que d'utiliser plt.axis('off')
, vous devez utiliser ax.axis('off')
où ax
est un objet matplotlib.axes
. Pour ce faire, vous devez simplement ajouter axarr[0,0].axis('off')
et ainsi de suite pour chacune de vos sous-parcelles.
Le code ci-dessous montre le résultat (j'ai supprimé la partie Prune_matrix
Car je n'ai pas accès à cette fonction, à l'avenir, veuillez soumettre du code pleinement opérationnel. )
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import matplotlib.cm as cm
img = mpimg.imread("stewie.jpg")
f, axarr = plt.subplots(2, 2)
axarr[0,0].imshow(img, cmap = cm.Greys_r)
axarr[0,0].set_title("Rank = 512")
axarr[0,0].axis('off')
axarr[0,1].imshow(img, cmap = cm.Greys_r)
axarr[0,1].set_title("Rank = %s" % 128)
axarr[0,1].axis('off')
axarr[1,0].imshow(img, cmap = cm.Greys_r)
axarr[1,0].set_title("Rank = %s" % 32)
axarr[1,0].axis('off')
axarr[1,1].imshow(img, cmap = cm.Greys_r)
axarr[1,1].set_title("Rank = %s" % 16)
axarr[1,1].axis('off')
plt.show()
Remarque: Pour désactiver uniquement l'axe des x ou des y, vous pouvez utiliser set_visible()
par exemple:
axarr[0,0].xaxis.set_visible(False) # Hide only x axis
import matplotlib.pyplot as plt
fig, ax = plt.subplots(2, 2)
Pour désactiver les axes pour toutes les sous-parcelles, effectuez l'une des opérations suivantes:
[axi.set_axis_off() for axi in ax.ravel()]
ou
map(lambda axi: axi.set_axis_off(), ax.ravel())