You are reading an old version of the documentation (v2.1.0). For the latest version see
Fork me on GitHub


Table Of Contents

This Page


matplotlib.pyplot.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=<class 'matplotlib.figure.Figure'>, clear=False, **kwargs)

Creates a new figure.


num : integer or string, optional, default: none

If not provided, a new figure will be created, and the figure number will be incremented. The figure objects holds this number in a number attribute. If num is provided, and a figure with this id already exists, make it active, and returns a reference to it. If this figure does not exists, create it and returns it. If num is a string, the window title will be set to this figure’s num.

figsize : tuple of integers, optional, default: None

width, height in inches. If not provided, defaults to rc figure.figsize.

dpi : integer, optional, default: None

resolution of the figure. If not provided, defaults to rc figure.dpi.

facecolor :

the background color. If not provided, defaults to rc figure.facecolor.

edgecolor :

the border color. If not provided, defaults to rc figure.edgecolor.

frameon : bool, optional, default: True

If False, suppress drawing the figure frame.

FigureClass : class derived from matplotlib.figure.Figure

Optionally use a custom Figure instance.

clear : bool, optional, default: False

If True and the figure already exists, then it is cleared.


figure : Figure

The Figure instance returned will also be passed to new_figure_manager in the backends, which allows to hook custom Figure classes into the pylab interface. Additional kwargs will be passed to the figure init function.


If you are creating many figures, make sure you explicitly call “close” on the figures you are not using, because this will enable pylab to properly clean up the memory.

rcParams defines the default values, which can be modified in the matplotlibrc file

Examples using matplotlib.pyplot.figure