Maison > développement back-end > Tutoriel Python > Pourquoi mon Matplotlib Savefig produit-il une image vide ?

Pourquoi mon Matplotlib Savefig produit-il une image vide ?

Susan Sarandon
Libérer: 2024-11-15 08:54:02
original
750 Les gens l'ont consulté

Why is My Matplotlib Savefig Producing a Blank Image?

Sortie vierge dans la méthode Savefig de Matplotlib

En tentant d'enregistrer les tracés générés à l'aide de Matplotlib, les utilisateurs peuvent rencontrer un problème où l'image enregistrée apparaît vide. Cet article résout ce problème en examinant un extrait de code qui tente d'enregistrer un tracé avec plusieurs sous-tracés.

Le code fourni comporte trois sous-tracés, l'un étant conditionnel en fonction de la disponibilité d'une variable nommée T0. La séquence de code est la suivante :

  1. Création d'une nouvelle figure et de sous-intrigues
  2. Visualisation des données au sein des sous-intrigues
  3. Appel à plt.show pour afficher l'intrigue
  4. Appelez à plt.savefig pour enregistrer le tracé au format PNG

Cependant, l'image enregistrée (tesssttyyy.png) reste vide. Pour résoudre ce problème, plusieurs facteurs doivent être pris en compte :

Impact de l'existence de T0 :

  • Vérifiez le comportement du code lorsque T0 n'est pas Aucun. Dans de tels cas, une sous-intrigue supplémentaire peut être créée, affectant potentiellement les indices de sous-intrigue.

Séquence des appels de fonction :

  • plt.show( ) crée une nouvelle figure. Pour garantir que la figure correcte est enregistrée, il est recommandé d'appeler plt.savefig avant plt.show(), ou de sauvegarder la figure séparément en récupérant la figure actuelle avec plt.gcf().

Basé sur ces considérations, voici deux résolutions suggérées :

Méthode 1 :

  • Appelez plt.savefig avant plt.show() pour enregistrer le chiffre initial avant que le nouveau ne soit généré.
plt.savefig('tessstttyyy.png', dpi=100)
plt.show()
plt.draw()
Copier après la connexion

Méthode 2 :

  • Enregistrez le chiffre actuel avant d'appeler plt.show() en utilisant plt.gcf().
fig1 = plt.gcf()
plt.show()
plt.draw()
fig1.savefig('tessstttyyy.png', dpi=100)
Copier après la connexion

Conclusion :

Le problème de l'image vide dans la méthode savefig de Matplotlib peut être résolu en ajustant la séquence d'appels de fonction pour garantir que le chiffre correct est enregistré ou en gérant la création conditionnelle de sous-parcelles en fonction de la disponibilité de T0.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal