Enregistrement de la parcelle de seaborn
Lorsque j'essaie d'enregistrer mon intrigue de travail avec seaborn, comme ceci:
import seaborn as sn
import pandas as pd
import matplotlib.pyplot as plt
from pylab import savefig
array = [[100,0],
[33,67]]
df_cm = pd.DataFrame(array)
svm = sn.heatmap(df_cm, annot=True,cmap='coolwarm', linecolor='white', linewidths=1)
svm.savefig('svm_conf.png', dpi=400)
J'obtiens cette erreur
AttributeError Traceback (most recent call last)
<ipython-input-71-5c0ae9cda020> in <module>()
----> 1 svm.savefig('svm_conf.png', dpi=400)
AttributeError: 'AxesSubplot' object has no attribute 'savefig'
J'ai économisé un peu de boxplots avant, avec le même code, mais cette fois, il ne fonctionne pas.
- vous souhaitez
plt.savefig('svm_conf.png', dpi=400)
- J'ai essayé cette option, mais j'ai eu la même erreur. 🙁
- Travaillez-vous dans quelque chose comme un ipython session interactive? - Peut-être démarrer une nouvelle session et copiez le code. À l'aide de plt.savefig ne doit certainement pas donner la même erreur.
Vous devez vous connecter pour publier un commentaire.
Réellement ce que vous devez faire est de:
sn.heatmap
Voir les 2 dernières lignes ci-dessous:
plt.savefig
fonctionne bien sous windows et IPython. Voir l'image. Je ne sais pas ce que vous avez fait pour le casser, mais il est au moins pas de raison de prétendre que cela ne fonctionnerait pas.La commande pour sauvegarder le chiffre actuel serait
Parce que, apparemment, provoque une certaine confusion, voici l'intégralité de travail exemple:
La façon la plus simple serait d'utiliser
au lieu de
svm.get_figure().savefig()
fonctionne dans les deux cas, si