我尝试了以下代码(test\u seaborn.py
):
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
matplotlib.style.use('ggplot')
import seaborn as sns
sns.set()
df = sns.load_dataset('iris')
sns_plot = sns.pairplot(df, hue='species', size=2.5)
fig = sns_plot.get_figure()
fig.savefig("output.png")
#sns.plt.show()
但我得到了这个错误:
Traceback (most recent call last):
File "test_searborn.py", line 11, in <module>
fig = sns_plot.get_figure()
AttributeError: 'PairGrid' object has no attribute 'get_figure'
我期望最终的输出。png将存在,并如下所示:
我如何解决这个问题?
2019年搜索者更少的行:
import matplotlib.pyplot as plt
import seaborn as sns
df = sns.load_dataset('iris')
sns_plot = sns.pairplot(df, hue='species', height=2.5)
plt.savefig('output.png')
更新说明:size
已更改为height
。
上面的一些解决方案对我不起作用。。图
属性在我尝试该属性时未找到,并且无法使用。直接保存图()
。然而,所起的作用是:
sns_plot.figure.savefig("output.png")
我是一个较新的Python用户,所以我不知道这是否是由于更新。我想提一下,以防其他人遇到和我一样的问题。
建议的解决方案与Seaborn 0.8不兼容。1.
给出以下错误,因为Seborn接口已更改:
AttributeError: 'AxesSubplot' object has no attribute 'fig'
When trying to access the figure
AttributeError: 'AxesSubplot' object has no attribute 'savefig'
when trying to use the savefig directly as a function
以下调用允许您访问地物(Seaborn 0.8.1兼容):
swarm_plot = sns.swarmplot(...)
fig = swarm_plot.get_figure()
fig.savefig(...)
如前面的回答所示。
更新:我最近使用seaborn的PairGrid对象生成了一个类似于本例的绘图。在这种情况下,因为GridPlot不是一个类似于sns的plot对象。Swarmlot,它没有get_figure()函数。可以通过以下方式直接访问matplotlib图形:
fig = myGridPlotObject.fig
就像之前在本帖其他帖子中建议的那样。
问题内容: 我有以下代码: 制作饼图。然后,我要做的就是将其保存到文件中。但是为什么失败了? 我收到此错误: 问题答案: 那么是一个numpy数组,因为for的返回类型是一个对象的numpy数组。
以及如何将指令保存为相同格式的文本文件?
问题内容: 我想将HtmlUnit cookie保存到一个文件,然后在下一次运行时从该文件中加载它们。我怎样才能做到这一点?谢谢。 问题答案:
问题内容: 我想将一个对象保存到文件中,然后轻松地从文件中读取它。作为一个简单的示例,可以说我有以下3d数组: 是否有一个简单的Ruby API,无需编程解析器即可解释文件中的数据,就可以用来实现此目的?在示例中,我给出了一个简单的例子,但是随着对象变得越来越复杂,使对象持久化变得很烦人。 问题答案: 参见元帅:http : //ruby- doc.org/core/classes/Marshal
问题内容: 在ipython Notebook中,首先创建一个pandas Series对象,然后通过调用实例方法.hist(),浏览器将显示该图。 我想知道如何将该图形保存到文件中(不是通过右键单击另存为,而是脚本中所需的命令)。 问题答案: 使用方法,如下所示: 它不必以结尾结尾,有很多选择。查看文档。 或者,您可以使用该接口,并仅作为函数调用来保存最近创建的图形:
问题内容: 如何保存/加载类所在的文件?我之前没有该位置的物理路径,而是想动态地找到该文件。 我想加载一个XML文件并对其进行读写,但我不确定该如何解决。 问题答案: 在一般情况下,您不能。从类加载器加载的资源可以是任何东西:目录中的文件,嵌入jar文件中的文件,甚至可以通过网络下载。