我尝试了以下代码(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
就像之前在本帖其他帖子中建议的那样