matplotlib.figure.Figure.add_subplot#

Figure.add_subplot(*args, **kwargs)[source]#

Add an Axes to the figure as part of a subplot arrangement.

Call signatures:

add_subplot(nrows, ncols, index, **kwargs)
add_subplot(pos, **kwargs)
add_subplot(ax)
add_subplot()
Parameters:
*argsint, (int, int, index), or SubplotSpec, default: (1, 1, 1)

The position of the subplot described by one of

  • Three integers (nrows, ncols, index). The subplot will take the index position on a grid with nrows rows and ncols columns. index starts at 1 in the upper left corner and increases to the right. index can also be a two-tuple specifying the (first, last) indices (1-based, and including last) of the subplot, e.g., fig.add_subplot(3, 1, (1, 2)) makes a subplot that spans the upper 2/3 of the figure.

  • A 3-digit integer. The digits are interpreted as if given separately as three single-digit integers, i.e. fig.add_subplot(235) is the same as fig.add_subplot(2, 3, 5). Note that this can only be used if there are no more than 9 subplots.

  • A SubplotSpec.

In rare circumstances, add_subplot may be called with a single argument, a subplot Axes instance already created in the present figure but not in the figure's list of Axes.

projection{None, 'aitoff', 'hammer', 'lambert', 'mollweide', 'polar', 'rectilinear', str}, optional

The projection type of the subplot (Axes). str is the name of a custom projection, see projections. The default None results in a 'rectilinear' projection.

polarbool, default: False

If True, equivalent to projection='polar'.

axes_classsubclass type of Axes, optional

The axes.Axes subclass that is instantiated. This parameter is incompatible with projection and polar. See axisartist for examples.

sharex, shareyAxes, optional

Share the x or y axis with sharex and/or sharey. The axis will have the same limits, ticks, and scale as the axis of the shared Axes.

labelstr

A label for the returned Axes.

Returns:
Axes

The Axes of the subplot. The returned Axes can actually be an instance of a subclass, such as projections.polar.PolarAxes for polar projections.

Other Parameters:
**kwargs

This method also takes the keyword arguments for the returned Axes base class; except for the figure argument. The keyword arguments for the rectilinear base class Axes can be found in the following table but there might also be other keyword arguments if another projection is used.

Property

Description

adjustable

{'box', 'datalim'}

agg_filter

a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image

alpha

scalar or None

anchor

(float, float) or {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}

animated

bool

aspect

{'auto', 'equal'} or float

autoscale_on

bool

autoscalex_on

unknown

autoscaley_on

unknown

axes_locator

Callable[[Axes, Renderer], Bbox]

axisbelow

bool or 'line'

box_aspect

float or None

clip_box

BboxBase or None

clip_on

bool

clip_path

Patch or (Path, Transform) or None

facecolor or fc

color

figure

Figure

forward_navigation_events

bool or "auto"

frame_on

bool

gid

str

in_layout

bool

label

object

mouseover

bool

navigate

bool

navigate_mode

unknown

path_effects

list of AbstractPathEffect

picker

None or bool or float or callable

position

[left, bottom, width, height] or Bbox

prop_cycle

Cycler

rasterization_zorder

float or None

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool or None

subplotspec

unknown

title

str

transform

Transform

url

str

visible

bool

xbound

(lower: float, upper: float)

xlabel

str

xlim

(left: float, right: float)

xmargin

float greater than -0.5

xscale

unknown

xticklabels

unknown

xticks

unknown

ybound

(lower: float, upper: float)

ylabel

str

ylim

(bottom: float, top: float)

ymargin

float greater than -0.5

yscale

unknown

yticklabels

unknown

yticks

unknown

zorder

float

Examples

fig = plt.figure()

fig.add_subplot(231)
ax1 = fig.add_subplot(2, 3, 1)  # equivalent but more general

fig.add_subplot(232, frameon=False)  # subplot with no frame
fig.add_subplot(233, projection='polar')  # polar subplot
fig.add_subplot(234, sharex=ax1)  # subplot sharing x-axis with ax1
fig.add_subplot(235, facecolor="red")  # red subplot

ax1.remove()  # delete ax1 from the figure
fig.add_subplot(ax1)  # add ax1 back to the figure

Examples using matplotlib.figure.Figure.add_subplot#

EventCollection Demo

EventCollection Demo

Scatter plot with histograms

Scatter plot with histograms

Resizing Axes with constrained layout

Resizing Axes with constrained layout

Resizing Axes with tight layout

Resizing Axes with tight layout

Combining two subplots using subplots and GridSpec

Combining two subplots using subplots and GridSpec

Using Gridspec to make multi-column/row subplot layouts

Using Gridspec to make multi-column/row subplot layouts

Nested Gridspecs

Nested Gridspecs

Figure subfigures

Figure subfigures

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

Text Commands

Text Commands

Inset locator demo

Inset locator demo

Parasite Simple2

Parasite Simple2

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

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

Pan/zoom events of overlapping axes

Pan/zoom events of overlapping axes

The double pendulum problem

The double pendulum problem

Animated 3D random walk

Animated 3D random walk

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

Create 3D histogram of 2D data

Create 3D histogram of 2D data

2D and 3D Axes in same figure

2D and 3D Axes in same figure

Draw flat objects in 3D plot

Draw flat objects in 3D plot

3D scatterplot

3D scatterplot

3D plots as subplots

3D plots as subplots

3D surface (solid color)

3D surface (solid color)

3D surface with polar coordinates

3D surface with polar coordinates

More triangular 3D surfaces

More triangular 3D surfaces

3D wireframe plot

3D wireframe plot

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

Ellipse with units

Ellipse with units

CanvasAgg demo

CanvasAgg demo

GridSpec demo

GridSpec demo

Simple Legend01

Simple Legend01

Artist tutorial

Artist tutorial

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

Text in Matplotlib

Text in Matplotlib

Annotations

Annotations