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#

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

Barcode

Barcode

Figimage Demo

Figimage Demo

Layer Images

Layer Images

Aligning Labels

Aligning Labels

Axes Zoom Effect

Axes Zoom Effect

Custom Figure subclasses

Custom Figure subclasses

Resizing axes with constrained layout

Resizing axes with constrained layout

Resizing axes with tight layout

Resizing axes with tight layout

Figure size in different units

Figure size in different units

Geographic Projections

Geographic Projections

Using Gridspec to make multi-column/row subplot layouts

Using Gridspec to make multi-column/row subplot layouts

Nested Gridspecs

Nested Gridspecs

Managing multiple figures in pyplot

Managing multiple figures in pyplot

Figure subfigures

Figure subfigures

Creating multiple subplots using plt.subplots

Creating multiple subplots using plt.subplots

Plotting cumulative distributions

Plotting cumulative distributions

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

Annotation Polar

Annotation Polar

Arrow Demo

Arrow Demo

Auto-wrapping text

Auto-wrapping 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

Mathtext Examples

Mathtext Examples

Concatenating text objects with different properties

Concatenating text objects with different properties

STIX Fonts

STIX Fonts

Text Commands

Text Commands

Unicode minus

Unicode minus

Usetex Baseline Test

Usetex Baseline Test

Usetex Fonteffects

Usetex Fonteffects

Reference for Matplotlib artists

Reference for Matplotlib artists

Drawing fancy boxes

Drawing fancy boxes

Hatch demo

Hatch demo

Two subplots using pyplot

Two subplots using pyplot

Axes divider

Axes divider

Demo Axes Grid

Demo Axes Grid

Axes Grid2

Axes Grid2

Showing RGB channels using RGBAxes

Showing 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

Setting a fixed aspect on ImageGrid cells

Setting a fixed aspect on ImageGrid cells

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

Anatomy of a figure

Anatomy of a figure

Firefox

Firefox

Shaded & power normalized rendering

Shaded & power normalized rendering

XKCD

XKCD

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

Close Event

Close Event

Interactive functions

Interactive functions

Lasso Demo

Lasso Demo

Adding lines to figures

Adding lines to figures

Hyperlinks

Hyperlinks

Matplotlib logo

Matplotlib logo

Multipage PDF

Multipage PDF

SVG Filter Line

SVG Filter 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

Create 3D histogram of 2D data

Create 3D histogram of 2D data

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 polygons to fill under 3D line graph

Generate polygons to fill under 3D line graph

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

Asinh Demo

Asinh Demo

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

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

Menu

Menu

Rectangle and ellipse selectors

Rectangle and ellipse selectors

subplot2grid demo

subplot2grid demo

GridSpec demo

GridSpec demo

Nested GridSpecs

Nested GridSpecs

Simple Legend01

Simple Legend01

Pyplot tutorial

Pyplot tutorial

Artist tutorial

Artist tutorial

Quick start guide

Quick start guide

origin and extent in imshow

origin and extent in ~.Axes.imshow

Path effects guide

Path effects guide

Transformations Tutorial

Transformations Tutorial

Constrained layout guide

Constrained layout guide

Tight layout guide

Tight layout guide

Arranging multiple Axes in a Figure

Arranging multiple Axes in a Figure

Axis ticks

Axis ticks

Complex and semantic figure composition (subplot_mosaic)

Complex and semantic figure composition (subplot_mosaic)

Specifying colors

Specifying colors

Text in Matplotlib

Text in Matplotlib

Text properties and layout

Text properties and layout

Annotations

Annotations

Writing mathematical expressions

Writing mathematical expressions