matplotlib.pyplot.imsave(fname, arr, **kwargs)[source]#

Colormap and save an array as an image file.

RGB(A) images are passed through. Single channel images will be colormapped according to cmap and norm.


If you want to save a single channel image as gray scale please use an image I/O library (such as pillow, tifffile, or imageio) directly.

fnamestr or path-like or file-like

A path or a file-like object to store the image in. If format is not set, then the output format is inferred from the extension of fname, if any, and from rcParams["savefig.format"] (default: 'png') otherwise. If format is set, it determines the output format.


The image data. The shape can be one of MxN (luminance), MxNx3 (RGB) or MxNx4 (RGBA).

vmin, vmaxfloat, optional

vmin and vmax set the color scaling for the image by fixing the values that map to the colormap color limits. If either vmin or vmax is None, that limit is determined from the arr min/max value.

cmapstr or Colormap, default: rcParams["image.cmap"] (default: 'viridis')

A Colormap instance or registered colormap name. The colormap maps scalar data to colors. It is ignored for RGB(A) data.

formatstr, optional

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

origin{'upper', 'lower'}, default: rcParams["image.origin"] (default: 'upper')

Indicates whether the (0, 0) index of the array is in the upper left or lower left corner of the axes.


The DPI to store in the metadata of the file. This does not affect the resolution of the output image. Depending on file format, this may be rounded to the nearest integer.

metadatadict, optional

Metadata in the image file. The supported keys depend on the output format, see the documentation of the respective backends for more information.

pil_kwargsdict, optional

Keyword arguments passed to If the 'pnginfo' key is present, it completely overrides metadata, including the default 'Software' key.