如何将Seaborn绘图保存为文件

14 浏览
0 Comments

如何将Seaborn绘图保存为文件

我尝试了以下代码(test_seaborn.py):\n

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()

\n但是我遇到了这个错误:\n

  Traceback (most recent call last):
  File "test_searborn.py", line 11, in 
    fig = sns_plot.get_figure()
AttributeError: 'PairGrid' object has no attribute 'get_figure'

\n我期望最终的output.png文件存在,并且看起来像这样:\n\"enter\n我该如何解决这个问题?

0
0 Comments

问题:如何将Seaborn图保存到文件中?

原因:根据上述讨论,有些用户在尝试保存Seaborn图形时遇到了白色图像的问题。这可能是由于某些环境或设置的不兼容性导致的。

解决方法:根据上述讨论,以下是一些可能的解决方法:

1. 更新控制台/Python版本:某些用户建议更新控制台或Python版本,以确保与Seaborn兼容的最新版本。这可能有助于解决白色图像的问题。

2. 检查计算机视图设置:有些用户建议检查计算机的视图设置,以确保图像正确显示。这可能包括检查显示器分辨率、颜色模式等设置。

3. 使用正确的保存方法:有些用户在保存Seaborn图形时使用了错误的保存方法。正确的方法是使用Seaborn图形对象的savefig()方法,而不是plt.savefig()。因此,正确的保存代码应该是:sns_plot.savefig('output.png')

在尝试保存Seaborn图形时,用户可能会遇到白色图像的问题。为了解决这个问题,用户可以尝试更新控制台/Python版本、检查计算机视图设置,并使用正确的保存方法sns_plot.savefig('output.png')。这些方法有助于确保正确保存Seaborn图形到文件中。

0
0 Comments

问题原因:

在使用Seaborn绘制图形时,有些解决方案可能无法正常工作。例如,在尝试使用.fig属性或.savefig()方法时,可能会出现属性或方法未找到的错误。这可能是由于Seaborn库更新导致的。

解决方法:

可以使用sns_plot.figure.savefig("output.png")这一方法将Seaborn图形保存为文件。这种方法适用于seaborn.swarmplot,并且不需要使用get_figure()方法。对于seaborn.lmplot,可以使用sns_plot.savefig("output.png")来保存图形。

对于seaborn 0.11.2版本的displot,这是唯一能够正常工作的解决方案。

以下是一些用户的反馈和解决方法。如果其他人遇到类似的问题,可以尝试使用这些方法来解决。

文章完整内容如下:

最近,在使用Seaborn绘制图形时,我遇到了一些问题。一些之前的解决方案对我来说并没有起作用。当我尝试使用.fig属性或.savefig()方法时,发现属性或方法未找到。然而,我找到了一个解决方法,希望能帮到其他遇到同样问题的人。

我是一个新手Python用户,所以不知道这个问题是不是由于库的更新导致的。我想提到这一点,以防其他人遇到了和我一样的问题。

具体的解决方法是使用sns_plot.figure.savefig("output.png")将Seaborn图形保存为文件。我发现这种方法适用于seaborn.swarmplot,并且不需要使用get_figure()方法。但是对于seaborn.lmplot,我发现sns_plot.savefig("output.png")就可以正常工作,无需调用get_figure()方法。

经过一番尝试,我发现这种方法在seaborn 0.11.2版本的displot中也能正常工作。这是我唯一能找到的有效解决方案。

希望这些解决方法能帮到其他人解决类似的问题。如果你也遇到了类似的问题,不妨尝试一下这些方法。

0
0 Comments

问题的出现原因是Seaborn 0.8.1版本中接口的改变导致之前的解决方案不再兼容。在之前的版本中,可以通过获取图形对象并使用savefig函数保存图形,但是在新版本中,这些方法不再适用。

为了解决这个问题,可以采用以下方法将Seaborn图形保存到文件中:

1. 对于普通的Seaborn图形,可以使用以下代码:

swarm_plot = sns.swarmplot(...)
fig = swarm_plot.get_figure()
fig.savefig("out.png")

这里,首先创建了一个swarmplot对象,然后通过get_figure()方法获取图形对象,最后使用savefig()函数保存图形为PNG文件。

2. 对于PairGrid或JointGrid等特殊情况,可以使用以下代码:

fig = myGridPlotObject.fig

这里,直接通过.fig属性获取matplotlib图形对象。

这些方法适用于Seaborn 0.8.1版本以及更高版本,可以解决在新版本中保存Seaborn图形的问题。

0