You are reading an old version of the documentation (v3.1.3). For the latest version see
Version 3.1.3
Fork me on GitHub

Table of Contents


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

Create 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 : (float, float), optional, default: None

width, height in inches. If not provided, defaults to rcParams["figure.figsize"] (default: [6.4, 4.8]) = [6.4, 4.8].

dpi : integer, optional, default: None

resolution of the figure. If not provided, defaults to rcParams["figure.dpi"] (default: 100.0) = 100.

facecolor : color spec

the background color. If not provided, defaults to rcParams["figure.facecolor"] (default: 'white') = 'w'.

edgecolor : color spec

the border color. If not provided, defaults to rcParams["figure.edgecolor"] (default: 'white') = 'w'.

frameon : bool, optional, default: True

If False, suppress drawing the figure frame.

FigureClass : subclass of 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 pyplot interface. Additional kwargs will be passed to the Figure init function.


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

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

Examples using matplotlib.pyplot.figure