Skip to content
Related Articles

Related Articles

Place plots side by side in Matplotlib
  • Last Updated : 23 Dec, 2020

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

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing libraries
import numpy as np
import matplotlib.pyplot as plt
  
  
# craeting 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
  
# dat 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 gor green color
plt.plot(x, y_2, 'g', linewidth=5)
plt.title('SECOND PLOT')
plt.xlabel('x-axis')
plt.ylabel('y-axis')
  
# spce between the plots
plt.tight_layout(4)
  
# show plot
plt.show()

chevron_right


Output:

Example 2: In vertical form.

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing libraries
import numpy as np
import matplotlib.pyplot as plt
  
# craeting 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
  
# dat 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')
  
# spce between the plots
plt.tight_layout()
  
# show plot
plt.show()

chevron_right


Output:

To increase the size of the plots we can write like this:

plt.subplots(figsize(l, b))

Example 3:

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing libraries
import numpy as np
import matplotlib.pyplot as plt
  
# craeting 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
  
# dat for y-axis for another plot
y_2 = 3*x
  
# figsize() function to adjust the size
# og 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')
  
# spce between the plots
plt.tight_layout(4)
  
# show plot
plt.show()

chevron_right


Output:


Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :