如何将Seaborn绘图保存到文件中

我尝试了以下代码(test\u seaborn.py):

导入matplotlib
matplotlib.use(’Agg’)
将matplotlib.pyplot作为plt导入
matplotlib.style.use(’ggplot’)
导入seaborn作为sns
sns.set()
df=sns.load_数据集(’iris’)
sns_图=sns.pairplot(df,色调=种类,大小=2.5)
图=sns\u图。获取图()
图savefig(“output.png”)
#sns.plt.show()

但我得到了这个错误:

回溯(最近一次呼叫最后一次):
文件“test_searborn.py”,第11行,in<模块>
图=sns\u图。获取图()
AttributeError:“PairGrid”对象没有属性“get\u figure”

我希望最终的output.png将存在,并如下所示:

我怎样才能解决这个问题

建议的解决方案与Seaborn 0.8.1不兼容

由于Seaborn接口已更改,导致出现以下错误:

AttributeError:'AxesSubplot'对象没有属性'fig'
尝试访问图形时
AttributeError:“AxeSubPlot”对象没有属性“savefig”
当尝试将savefig直接用作函数时

以下调用允许您访问地物(Seaborn 0.8.1兼容):

swarm\u plot=sns.swarmplot(…)
图=群图。获取图()
图savefig(…)

如前面的回答所示

更新:
我最近使用seaborn的PairGrid对象生成了一个类似于本例的绘图。
在本例中,由于GridPlot不是像sns.swamplot这样的plot对象,因此它没有get_figure()函数。
可以通过以下方式直接访问matplotlib图形:

fig=myGridPlotObject.fig

就像之前在本帖其他帖子中建议的那样

发表评论