How to save a Seaborn plot into a file
Some of the above solutions did not work for me. The .fig
attribute was not found when I tried that and I was unable to use .savefig()
directly. However, what did work was:
sns_plot.figure.savefig("output.png")
I am a newer Python user, so I do not know if this is due to an update. I wanted to mention it in case anybody else runs into the same issues as I did.
The following calls allow you to access the figure (Seaborn 0.8.1 compatible):
swarm_plot = sns.swarmplot(...)
fig = swarm_plot.get_figure()
fig.savefig("out.png")
as seen previously in this answer.
The suggested solutions are incompatible with Seaborn 0.8.1. They give the following errors because the Seaborn interface has changed:
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
UPDATE:
I have recently used PairGrid
object from seaborn to generate a plot similar to the one in this example.
In this case, since GridPlot
is not a plot object like, for example, sns.swarmplot
, it has no get_figure()
function.
It is possible to directly access the matplotlib figure by:
fig = myGridPlotObject.fig