0
votes

Comment économiser des figures au lieu de l'intrigue

J'ai cette partie du code: xxx

mais je reçois une erreur lorsque j'essaie de le tracer: xxx

Donc, je veux sauver des figures plutôt que de la tracer, comment devrais-je faire?


4 commentaires

Est-ce que cela répond à votre question? Enregistrer le tracé dans le fichier image au lieu de l'afficher à l'aide de MATPLOTLIB


Mais que dois-je faire avec ax.imshow ?


fig.savefig ('chemin / nom.png') devrait le faire. Heres la documentation correspondante: MATPLOTLIB.ORG/3.1/API /_as_gen/matplotlib.pyplot.savefig.h tml


Mais devrais-je supprimer AX.IMSHOW (NP.RESHAPE (Y [I] * 255, (image_size, image_size)), CMAP = "gris") et AX.IMSHOW (NP.RESHAPE (résultat [I] * 255, (image_size, image_size)), CMAP = "gris") ? Comment le programme sait ce qu'il devrait être sauvé?


3 Réponses :


0
votes

Vous pouvez enregistrer une figure à l'aide de plt.savefig ("figure-nom.png")

en outre pour éliminer les espaces blancs dans la figure utilisation plt.savefig ('figure-name.png', bbox_inches = 'serré')


0 commentaires

0
votes

Tout d'abord, modifiez l'index de votre boucle interne. Il est actuellement identique à la boucle extérieure que vous ne voulez pas. Définissez-le sur j code> par exemple.

Concernez votre problème de figure, appendez les éléments suivants à votre boucle interne. P>

import matplotlib.pyplot as plt
import numpy as np

for i in range(1, 5, 1):
    x, y = valid_gen.__getitem__(i)
    result = model.predict(x)
    result = result > 0.4
    for j in range(len(result)):
        fig = plt.figure()
        fig.subplots_adjust(hspace=0.4, wspace=0.4)
        ax = fig.add_subplot(1, 2, 1)
        ax.imshow(np.reshape(y[j] * 255, (image_size, image_size)),
                  cmap='gray')
        ax = fig.add_subplot(1, 2, 2)
        ax.imshow(np.reshape(result[j] * 255, (image_size, image_size)),
                  cmap='gray')
        fig.savefig(f'Figure{i}_{j}.png')
        plt.close(fig)


3 commentaires

Mais devrais-je supprimer AX.IMSHOW (NP.RESHAPE (Y [I] * 255, (image_size, image_size)), CMAP = "gris") et AX.IMSHOW (NP.RESHAPE (résultat [I] * 255, (image_size, image_size)), CMAP = "gris") ? Comment le programme sait ce qu'il devrait être sauvé?


Ne supprimez pas ces lignes. Chaque axe souterrain est créé par la méthode Add_Subplot de votre objet Figure Fig. En conséquence, appeler Imshow sur chacun de ces axes rend les données sur l'objet figure associées à ces axes, ce qui est en effet la figure dans votre cas. Enregistrez simplement votre silhouette à la fin de la boucle interne et fermez la figure pour éviter le remplissage de la mémoire.


Pouvez-vous écrire vos lignes dans mon code s'il vous plaît? Je ne comprends toujours pas. Désolé, je suis nouveau en python



0
votes
import matplotlib.pyplot as plt

plt.savefig('name.png')

0 commentaires