matplotlib.pyplot.savefig(*args, **kwargs)[source]

Save the current figure.

Call signature:

savefig(fname, dpi=None, facecolor='w', edgecolor='w',
        orientation='portrait', papertype=None, format=None,
        transparent=False, bbox_inches=None, pad_inches=0.1,
        frameon=None, metadata=None)

The available output formats depend on the backend being used.

fnamestr or path-like or binary file-like

A path, or a Python file-like object, or possibly some backend-dependent object such as matplotlib.backends.backend_pdf.PdfPages.

If format is set, it determines the output format, and the file is saved as fname. Note that fname is used verbatim, and there is no attempt to make the extension, if any, of fname match format, and no extension is appended.

If format is not set, then the format is inferred from the extension of fname, if there is one. If format is not set and fname has no extension, then the file is saved with rcParams["savefig.format"] (default: 'png') and the appropriate extension is appended to fname.

Other Parameters:
dpifloat or 'figure', default: rcParams["savefig.dpi"] (default: 'figure')

The resolution in dots per inch. If 'figure', use the figure's dpi value.

facecolorcolor or 'auto', default: rcParams["savefig.facecolor"] (default: 'auto')

The facecolor of the figure. If 'auto', use the current figure facecolor.

edgecolorcolor or 'auto', default: rcParams["savefig.edgecolor"] (default: 'auto')

The edgecolor of the figure. If 'auto', use the current figure edgecolor.

orientation{'landscape', 'portrait'}

Currently only supported by the postscript backend.


One of 'letter', 'legal', 'executive', 'ledger', 'a0' through 'a10', 'b0' through 'b10'. Only supported for postscript output.


The file format, e.g. 'png', 'pdf', 'svg', ... The behavior when this is unset is documented under fname.


If True, the Axes patches will all be transparent; the figure patch will also be transparent unless facecolor and/or edgecolor are specified via kwargs. This is useful, for example, for displaying a plot on top of a colored background on a web page. The transparency of these patches will be restored to their original values upon exit of this function.

bbox_inchesstr or Bbox, default: rcParams["savefig.bbox"] (default: None)

Bounding box in inches: only the given portion of the figure is saved. If 'tight', try to figure out the tight bbox of the figure.

pad_inchesfloat, default: rcParams["savefig.pad_inches"] (default: 0.1)

Amount of padding around the figure when bbox_inches is 'tight'.

bbox_extra_artistslist of Artist, optional

A list of extra artists that will be considered when the tight bbox is calculated.

backendstr, optional

Use a non-default backend to render the file, e.g. to render a png file with the "cairo" backend rather than the default "agg", or a pdf file with the "pgf" backend rather than the default "pdf". Note that the default backend is normally sufficient. See The builtin backends for a list of valid backends for each file format. Custom backends can be referenced as "module://...".

metadatadict, optional

Key/value pairs to store in the image metadata. The supported keys and defaults depend on the image format and backend:

  • 'png' with Agg backend: See the parameter metadata of print_png.
  • 'pdf' with pdf backend: See the parameter metadata of PdfPages.
  • 'svg' with svg backend: See the parameter metadata of print_svg.
  • 'eps' and 'ps' with PS backend: Only 'Creator' is supported.
pil_kwargsdict, optional

Additional keyword arguments that are passed to when saving the figure.