繁体   English   中英

Seaborn plt.savefigure“覆盖图像”

[英]Seaborn plt.savefigure 'overwriting images'

问题

我正在尝试使用seaborn和matplotlib plt.savefig('。png')保存图形,但是正在发生的事情是图形被覆盖,即使名称不同也是如此。 我不能用

fig = sns.lineplot(data=totaldf, palette="tab10", linewidth=2.5) fig.savefig('.png')

因为它返回:

AttributeError:'AxesSubplot'对象没有属性'savefig'

如何保存此图而不会覆盖?

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

maindf = pd.read_csv('df2.csv')
maindf['M01']=(maindf['M01'].apply(lambda x: x * 27))
maindf['M02']=(maindf['M02'].apply(lambda x: x * 27))
maindf['M03']=(maindf['M03'].apply(lambda x: x * 27))
maindf['M04']=(maindf['M04'].apply(lambda x: x * 27))
maindf['M05']=(maindf['M05'].apply(lambda x: x * 27))
maindf['M06']=(maindf['M06'].apply(lambda x: x * 27))
maindf['M07']=(maindf['M07'].apply(lambda x: x * 27))
maindf['M08']=(maindf['M08'].apply(lambda x: x * 27))
maindf['M09']=(maindf['M09'].apply(lambda x: x * 27))
maindf['M10']=(maindf['M10'].apply(lambda x: x * 27))
maindf['M11']=(maindf['M11'].apply(lambda x: x * 27))
maindf['M12']=(maindf['M12'].apply(lambda x: x * 27))
maindf['M13']=(maindf['M13'].apply(lambda x: x * 27))
maindf['M14']=(maindf['M14'].apply(lambda x: x * 27))
maindf['M15']=(maindf['M15'].apply(lambda x: x * 27))
index=0
totaldf = pd.DataFrame({ 'Pontuacao Total':maindf.sum(axis=1)})
sns.countplot(totaldf['Pontuacao Total'])
plt.savefig("PontuacaoTotalDistPlot.png")
sns.heatmap(totaldf,cmap = 'inferno_r')
plt.savefig('PontuacaoTotalHeatmap.png')
sns.lineplot(data=totaldf, palette="tab10", linewidth=2.5)
plt.savefig('PontuacaoTotalLine.png')

图片

那就是线图

那是线图

那就是热图

那就是热图

您可以为每个图创建一个新图,

plt.figure()
sns.countplot(...)
plt.savefig(...)

plt.figure()
sns.lineplot(...)
plt.savefig(...)

您还可以保存任何特定的数字,

fig1 = plt.figure()
sns.countplot(...)

fig2 = plt.figure()
sns.lineplot(...)

fig1.savefig(...)
fig2.savefig(...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM