matplotlib.pyplot.figimage(X, xo=0, yo=0, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, origin=None, resize=False, **kwargs)[source]#

Add a non-resampled image to the figure.

The image is attached to the lower or upper left corner depending on origin.


The image data. This is an array of one of the following shapes:

  • (M, N): an image with scalar data. Color-mapping is controlled by cmap, norm, vmin, and vmax.

  • (M, N, 3): an image with RGB values (0-1 float or 0-255 int).

  • (M, N, 4): an image with RGBA values (0-1 float or 0-255 int), i.e. including transparency.

xo, yoint

The x/y image offset in pixels.

alphaNone or float

The alpha blending value.

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

The Colormap instance or registered colormap name used to map scalar data to colors.

This parameter is ignored if X is RGB(A).

normstr or Normalize, optional

The normalization method used to scale scalar data to the [0, 1] range before mapping to colors using cmap. By default, a linear scaling is used, mapping the lowest value to 0 and the highest to 1.

If given, this can be one of the following:

This parameter is ignored if X is RGB(A).

vmin, vmaxfloat, optional

When using scalar data and no explicit norm, vmin and vmax define the data range that the colormap covers. By default, the colormap covers the complete value range of the supplied data. It is an error to use vmin/vmax when a norm instance is given (but using a str norm name together with vmin/vmax is acceptable).

This parameter is ignored if X is RGB(A).

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

Indicates where the [0, 0] index of the array is in the upper left or lower left corner of the axes.


If True, resize the figure to match the given image size.

Other Parameters:

Additional kwargs are Artist kwargs passed on to FigureImage.


figimage complements the Axes image (imshow) which will be resampled to fit the current Axes. If you want a resampled image to fill the entire figure, you can define an Axes with extent [0, 0, 1, 1].


f = plt.figure()
nx = int(f.get_figwidth() * f.dpi)
ny = int(f.get_figheight() * f.dpi)
data = np.random.random((ny, nx))