Python | Matplotlib Sub plotting using object oriented API
Plotting using Object Oriented(OO) API in matplotlib is an easy approach to plot graphs and other data visualization methods.
The simple syntax to create the class and object for sub-plotting is –
class_name, object_name = matplotlib.pyplot.subplots(‘no_of_rows’, ‘no_of_columns’)
Let’s take some examples to make it more clear.
Example #1:
# importing the matplotlib libraryimport matplotlib.pyplot as plt # defining the values of Xx =[0, 1, 2, 3, 4, 5, 6] # defining the value of Yy =[0, 1, 3, 6, 9, 12, 17] # creating the canvas with class 'fig'# and it's object 'axes' with '1' row # and '2' columnsfig, axes = plt.subplots(1, 2) # plotting graph for 1st columnaxes[0].plot(x, y, 'g--o') # plotting graph for second columnaxes[1].plot(y, x, 'm--o') # Gives a clean look to the graphsfig.tight_layout() |
Output :
In the above example, we used ‘axes'(the object of the class ‘fig’) as an array at the time of plotting graph, it is because when we define the number of rows and columns then array of the objects is created with ‘n’ number of elements where ‘n’ is the product of rows and columns, so if we have 2 columns and two rows then there will be array of 4 elements.
Example #2:
# importing the matplotlib libraryimport matplotlib.pyplot as plt # defining the values of Xx =[0, 1, 2, 3, 4, 5, 6] # defining the value of Yy =[0, 1, 3, 6, 9, 12, 17] # creating the canvas with class 'fig'# and it's object 'axes' with '1' row # and '2' columnsfig, axes = plt.subplots(2, 2) # plotting graph for 1st elementaxes[0, 0].plot(x, y, 'g--o') # plotting graph for 2nd elementaxes[0, 1].plot(y, x, 'm--o') # plotting graph for 3rd elementaxes[1, 0].plot(x, y, 'b--o') # plotting graph for 4th elementaxes[1, 1].plot(y, x, 'r--o') # Gives a clean look to the graphsfig.tight_layout() |
Output :


