Matplotlib is the most popular Python library for plotting graphs and visualizing our data. In Matplotlib we can create multiple plots by calling them once. To create multiple plots we use the subplot function of pyplot module in Matplotlib.
Syntax: plt.subplot(nrows, .ncolumns, index)
Parameters:
- nrows is for number of rows means if the row is 1 then the plots lie horizontally.
- ncolumns stands for column means if the column is 1 then the plot lie vertically.
- and index is the count/index of plots. It starts with 1.
Approach:
- Import libraries and modules.
- Create data for plot.
- Now, create a subplot using above function.
- Give the parameters to the function according to the requirement.
Example 1:
Python3
# importing libraries import numpy as np import matplotlib.pyplot as plt # creating an array of data for x-axis x = np.array([ 2 , 4 , 6 , 8 , 10 , 12 , 14 , 16 , 18 , 20 ]) # data for y-axis y_1 = 2 * x # data for y-axis for another plot y_2 = 3 * x # using subplot function and creating plot one plt.subplot( 1 , 2 , 1 ) # row 1, column 2, count 1 plt.plot(x, y_1, 'r' , linewidth = 5 , linestyle = ':' ) plt.title( 'FIRST PLOT' ) plt.xlabel( 'x-axis' ) plt.ylabel( 'y-axis' ) # using subplot function and creating plot two # row 1, column 2, count 2 plt.subplot( 1 , 2 , 2 ) # g is for green color plt.plot(x, y_2, 'g' , linewidth = 5 ) plt.title( 'SECOND PLOT' ) plt.xlabel( 'x-axis' ) plt.ylabel( 'y-axis' ) # space between the plots plt.tight_layout( 4 ) # show plot plt.show() |
Output:
Example 2: In vertical form.
Python3
# importing libraries import numpy as np import matplotlib.pyplot as plt # creating an array of data for x-axis x = np.array([ 2 , 4 , 6 , 8 , 10 , 12 , 14 , 16 , 18 , 20 ]) # data for y-axis y_1 = 2 * x # data for y-axis for another plot y_2 = 3 * x # using subplot function and creating plot one # row 2, column 1, count 1 plt.subplot( 2 , 1 , 1 ) plt.plot(x, y_1, 'r' , linewidth = 5 , linestyle = ':' ) plt.title( 'FIRST PLOT' ) plt.xlabel( 'x-axis' ) plt.ylabel( 'y-axis' ) # using subplot function and creating plot two # row 2, column 1, count 2 plt.subplot( 2 , 1 , 2 ) plt.plot(x, y_2, 'g' , linewidth = 5 ) plt.title( 'SECOND PLOT' ) plt.xlabel( 'x-axis' ) plt.ylabel( 'y-axis' ) # space between the plots plt.tight_layout() # show plot plt.show() |
Output:
To increase the size of the plots we can write like this
plt.subplots(figsize(l, b))
Example 3:
Python3
# importing libraries import numpy as np import matplotlib.pyplot as plt # creating an array of data for x-axis x = np.array([ 2 , 4 , 6 , 8 , 10 , 12 , 14 , 16 , 18 , 20 ]) # data for y-axis y_1 = 2 * x # data for y-axis for another plot y_2 = 3 * x # figsize() function to adjust the size # of function plt.subplots(figsize = ( 15 , 5 )) # using subplot function and creating # plot one plt.subplot( 1 , 2 , 1 ) plt.plot(x, y_1, 'r' , linewidth = 5 , linestyle = ':' ) plt.title( 'FIRST PLOT' ) plt.xlabel( 'x-axis' ) plt.ylabel( 'y-axis' ) # using subplot function and creating plot two plt.subplot( 1 , 2 , 2 ) plt.plot(x, y_2, 'g' , linewidth = 5 ) plt.title( 'SECOND PLOT' ) plt.xlabel( 'x-axis' ) plt.ylabel( 'y-axis' ) # space between the plots plt.tight_layout( 4 ) # show plot plt.show() |
Output: