Matplotlib.pyplot.subplot() function in Python (original) (raw)

Last Updated : 20 May, 2022

Prerequisites: matplotlib

subplot() function adds subplot to a current figure at the specified grid position. It is similar to the subplots() function however unlike subplots() it adds one subplot at a time. So to create multiple plots you will need several lines of code with the subplot() function. Another drawback of the subplot function is that it deletes the preexisting plot on your figure. Refer to example 1.

It is a wrapper of Figure.add_subplot.

Syntax:

subplot(nrows, ncols, index, **kwargs)

subplot(pos, **kwargs)

subplot(ax)

Parameters :

Returns : An axes.SubplotBase subclass of Axes or a subclass of Axes. The returned axes base class depends on the projection used.

Implementation of the function is given below:

Example 1: subplot() will delete the pre-existing plot.

Python3

import matplotlib.pyplot as plt

x = [ 1 , 2 , 3 , 4 , 5 ]

y = [ 1 , 2 , 1 , 2 , 1 ]

plt.plot(x, y, marker = "x" , color = "green" )

plt.subplot( 121 )

Output: We can see that the first plot got set aside by the subplot() function.

subplot_gfg

If you want to see the first plot comment out plt.subplot() line and you will see the following plot

plot_gfg

Example 2:

Python3

import matplotlib.pyplot as plt

x = [ 3 , 1 , 3 ]

y = [ 3 , 2 , 1 ]

z = [ 1 , 3 , 1 ]

plt.figure()

plt.subplot( 121 )

plt.plot(x, y, color = "orange" , marker = "*" )

plt.subplot( 122 )

plt.plot(z, y, color = "yellow" , marker = "*" )

Output :

multiple_subplots