matplotlib.pyplot.figure#

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, or activate an existing figure.

Parameters:
numint or str or Figure or SubFigure, optional

A unique identifier for the figure.

If a figure with that identifier already exists, this figure is made active and returned. An integer refers to the Figure.number attribute, a string refers to the figure label.

If there is no figure with the identifier or num is not given, a new figure is created, made active and returned. If num is an int, it will be used for the Figure.number attribute, otherwise, an auto-generated integer value is used (starting at 1 and incremented for each new figure). If num is a string, the figure label and the window title is set to this value. If num is a SubFigure, its parent Figure is activated.

figsize(float, float), default: rcParams["figure.figsize"] (default: [6.4, 4.8])

Width, height in inches.

dpifloat, default: rcParams["figure.dpi"] (default: 100.0)

The resolution of the figure in dots-per-inch.

facecolorcolor, default: rcParams["figure.facecolor"] (default: 'white')

The background color.

edgecolorcolor, default: rcParams["figure.edgecolor"] (default: 'white')

The border color.

frameonbool, default: True

If False, suppress drawing the figure frame.

FigureClasssubclass of Figure

If set, an instance of this subclass will be created, rather than a plain Figure.

clearbool, default: False

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

layout{'constrained', 'compressed', 'tight', 'none', LayoutEngine, None}, default: None

The layout mechanism for positioning of plot elements to avoid overlapping Axes decorations (labels, ticks, etc). Note that layout managers can measurably slow down figure display.

  • 'constrained': The constrained layout solver adjusts Axes sizes to avoid overlapping Axes decorations. Can handle complex plot layouts and colorbars, and is thus recommended.

    See Constrained layout guide for examples.

  • 'compressed': uses the same algorithm as 'constrained', but removes extra space between fixed-aspect-ratio Axes. Best for simple grids of Axes.

  • 'tight': Use the tight layout mechanism. This is a relatively simple algorithm that adjusts the subplot parameters so that decorations do not overlap. See Figure.set_tight_layout for further details.

  • 'none': Do not use a layout engine.

  • A LayoutEngine instance. Builtin layout classes are ConstrainedLayoutEngine and TightLayoutEngine, more easily accessible by 'constrained' and 'tight'. Passing an instance allows third parties to provide their own layout engine.

If not given, fall back to using the parameters tight_layout and constrained_layout, including their config defaults rcParams["figure.autolayout"] (default: False) and rcParams["figure.constrained_layout.use"] (default: False).

**kwargs

Additional keyword arguments are passed to the Figure constructor.

Returns:
Figure

Notes

A newly created figure is passed to the new_manager method or the new_figure_manager function provided by the current backend, which install a canvas and a manager on the figure.

Once this is done, rcParams["figure.hooks"] (default: []) are called, one at a time, on the figure; these hooks allow arbitrary customization of the figure (e.g., attaching callbacks) or of associated elements (e.g., modifying the toolbar). See mplcvd -- an example of figure hook for an example of toolbar customization.

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#

The double pendulum problem

The double pendulum problem

Frame grabbing

Frame grabbing

Rain simulation

Rain simulation

Animated 3D random walk

Animated 3D random walk

Matplotlib unchained

Matplotlib unchained

Axes divider

Axes divider

Demo Axes Grid

Demo Axes Grid

Axes Grid2

Axes Grid2

Show RGB channels using RGBAxes

Show RGB channels using RGBAxes

Per-row or per-column colorbars

Per-row or per-column colorbars

Axes with a fixed physical size

Axes with a fixed physical size

ImageGrid cells with a fixed aspect ratio

ImageGrid cells with a fixed aspect ratio

Inset locator demo

Inset locator demo

Make room for ylabel using axes_grid

Make room for ylabel using axes_grid

Parasite Simple2

Parasite Simple2

Simple Axes Divider 1

Simple Axes Divider 1

Simple axes divider 3

Simple axes divider 3

Simple ImageGrid

Simple ImageGrid

Simple ImageGrid 2

Simple ImageGrid 2

Axis Direction

Axis Direction

axis_direction demo

axis_direction demo

Axis line styles

Axis line styles

Curvilinear grid demo

Curvilinear grid demo

Demo CurveLinear Grid2

Demo CurveLinear Grid2

floating_axes features

floating_axes features

floating_axis demo

floating_axis demo

Parasite Axes demo

Parasite Axes demo

Ticklabel alignment

Ticklabel alignment

Ticklabel direction

Ticklabel direction

Simple axis direction

Simple axis direction

Simple axis tick label and tick directions

Simple axis tick label and tick directions

Simple axis pad

Simple axis pad

Custom spines with axisartist

Custom spines with axisartist

Simple Axisline

Simple Axisline

Simple Axisline3

Simple Axisline3

Close event

Close event

Interactive functions

Interactive functions

Lasso Demo

Lasso Demo

Barcode

Barcode

Figimage Demo

Figimage Demo

Image resampling

Image resampling

Layer images with alpha blending

Layer images with alpha blending

Errorbar limit selection

Errorbar limit selection

EventCollection Demo

EventCollection Demo

Filled polygon

Filled polygon

Scatter plot with histograms

Scatter plot with histograms

Spectrum representations

Spectrum representations

Add lines directly to a figure

Add lines directly to a figure

Hyperlinks

Hyperlinks

Matplotlib logo

Matplotlib logo

Multipage PDF

Multipage PDF

Apply SVG filter to a line

Apply SVG filter to a line

SVG filter pie

SVG filter pie

transforms.offset_copy

transforms.offset_copy

Zorder Demo

Zorder Demo

Plot 2D data on 3D plot

Plot 2D data on 3D plot

Demo of 3D bar charts

Demo of 3D bar charts

Create 2D bar graphs in different planes

Create 2D bar graphs in different planes

3D box surface plot

3D box surface plot

Plot contour (level) curves in 3D

Plot contour (level) curves in 3D

Plot contour (level) curves in 3D using the extend3d option

Plot contour (level) curves in 3D using the extend3d option

Project contour profiles onto a graph

Project contour profiles onto a graph

Filled contours

Filled contours

Project filled contour onto a graph

Project filled contour onto a graph

3D errorbars

3D errorbars

Fill between 3D lines

Fill between 3D lines

Fill under 3D line graphs

Fill under 3D line graphs

Create 3D histogram of 2D data

Create 3D histogram of 2D data

2D images in 3D

2D images in 3D

Intersecting planes

Intersecting planes

Parametric curve

Parametric curve

Lorenz attractor

Lorenz attractor

2D and 3D Axes in same figure

2D and 3D Axes in same figure

Automatic text offsetting

Automatic text offsetting

Draw flat objects in 3D plot

Draw flat objects in 3D plot

Generate 3D polygons

Generate 3D polygons

3D quiver plot

3D quiver plot

Rotating a 3D plot

Rotating a 3D plot

3D scatterplot

3D scatterplot

3D plots as subplots

3D plots as subplots

3D surface (solid color)

3D surface (solid color)

3D surface (checkerboard)

3D surface (checkerboard)

3D surface with polar coordinates

3D surface with polar coordinates

Text annotations in 3D

Text annotations in 3D

Triangular 3D contour plot

Triangular 3D contour plot

Triangular 3D filled contour plot

Triangular 3D filled contour plot

Triangular 3D surfaces

Triangular 3D surfaces

More triangular 3D surfaces

More triangular 3D surfaces

3D voxel / volumetric plot

3D voxel / volumetric plot

3D voxel plot of the NumPy logo

3D voxel plot of the NumPy logo

3D voxel / volumetric plot with RGB colors

3D voxel / volumetric plot with RGB colors

3D voxel / volumetric plot with cylindrical coordinates

3D voxel / volumetric plot with cylindrical coordinates

3D wireframe plot

3D wireframe plot

Animate a 3D wireframe plot

Animate a 3D wireframe plot

Error bar rendering on polar axis

Error bar rendering on polar axis

Polar legend

Polar legend

Scatter plot on polar axis

Scatter plot on polar axis

Two subplots using pyplot

Two subplots using pyplot

Asinh scale

Asinh scale

Reference for Matplotlib artists

Reference for Matplotlib artists

Drawing fancy boxes

Drawing fancy boxes

Hatch demo

Hatch demo

Anatomy of a figure

Anatomy of a figure

Firefox

Firefox

Shaded & power normalized rendering

Shaded & power normalized rendering

Pan/zoom events of overlapping axes

Pan/zoom events of overlapping axes

XKCD

XKCD

Left ventricle bullseye

Left ventricle bullseye

The Sankey class

The Sankey class

Long chain of connections using Sankey

Long chain of connections using Sankey

Rankine power cycle

Rankine power cycle

SkewT-logP diagram: using transforms and custom projections

SkewT-logP diagram: using transforms and custom projections

Cumulative distributions

Cumulative distributions

Axes zoom effect

Axes zoom effect

Custom Figure subclasses

Custom Figure subclasses

Resize Axes with constrained layout

Resize Axes with constrained layout

Resize Axes with tight layout

Resize Axes with tight layout

Figure size in different units

Figure size in different units

Geographic Projections

Geographic Projections

GridSpec with variable sizes and spacing

GridSpec with variable sizes and spacing

Gridspec for multi-column/row subplot layouts

Gridspec for multi-column/row subplot layouts

Nested Gridspecs

Nested Gridspecs

Manage multiple figures in pyplot

Manage multiple figures in pyplot

Figure subfigures

Figure subfigures

subplot2grid

subplot2grid

Create multiple subplots using plt.subplots

Create multiple subplots using plt.subplots

Annotate polar plots

Annotate polar plots

Arrow Demo

Arrow Demo

Auto-wrap text

Auto-wrap text

Text rotation mode

Text rotation mode

The difference between \dfrac and \frac

The difference between \dfrac and \frac

Annotation arrow style reference

Annotation arrow style reference

Fonts demo (object-oriented style)

Fonts demo (object-oriented style)

Fonts demo (keyword arguments)

Fonts demo (keyword arguments)

Convert texts to images

Convert texts to images

Mathematical expressions

Mathematical expressions

Concatenate text objects with different properties

Concatenate text objects with different properties

STIX Fonts

STIX Fonts

Text properties

Text properties

Unicode minus

Unicode minus

Usetex text baseline

Usetex text baseline

Usetex font effects

Usetex font effects

Fig Axes Customize Simple

Fig Axes Customize Simple

Tick formatters

Tick formatters

Ellipse with units

Ellipse with units

SVG Histogram

SVG Histogram

Tool Manager

Tool Manager

Nested GridSpecs

Nested GridSpecs

Simple Legend01

Simple Legend01

Menu

Menu

Rectangle and ellipse selectors

Rectangle and ellipse selectors

Artist tutorial

Artist tutorial

Pyplot tutorial

Pyplot tutorial

origin and extent in imshow

origin and extent in imshow

Path effects guide

Path effects guide

Transformations Tutorial

Transformations Tutorial

Arranging multiple Axes in a Figure

Arranging multiple Axes in a Figure

Axis ticks

Axis ticks

Constrained layout guide

Constrained layout guide

Complex and semantic figure composition (subplot_mosaic)

Complex and semantic figure composition (subplot_mosaic)

Tight layout guide

Tight layout guide

Specifying colors

Specifying colors

Quick start guide

Quick start guide

Annotations

Annotations

Writing mathematical expressions

Writing mathematical expressions

Text in Matplotlib

Text in Matplotlib

Text properties and layout

Text properties and layout