Saturday, November 16, 2024
Google search engine
HomeLanguagesHow to Display Multiple Images in One Figure Correctly in Matplotlib?

How to Display Multiple Images in One Figure Correctly in Matplotlib?

The easiest way to display multiple images in one figure is use figure(), add_subplot(), and imshow() methods of Matplotlib. The approach which is used to follow is first initiating fig object by calling fig=plt.figure() and then add an axes object to the fig by calling add_subplot() method. Then will display the image using imshow() method.

Syntax: add_subplot(rows, columns, i)

 Here rows and columns are the total number of rows and columns in the figure and i is the position at which new subplot must be placed.

Steps:

  • Import required libraries
  • Create a figure
  • Set values of rows and column variables
  • Read images
  • Add subplot and display image one by one

Consider below Images used as input: 

Image1

Image2

Image3

Image4

Below is the implementation :

Python3




# code for displaying multiple images in one figure
  
#import libraries
import cv2
from matplotlib import pyplot as plt
  
# create figure
fig = plt.figure(figsize=(10, 7))
  
# setting values to rows and column variables
rows = 2
columns = 2
  
# reading images
Image1 = cv2.imread('Image1.jpg')
Image2 = cv2.imread('Image2.jpg')
Image3 = cv2.imread('Image3.jpg')
Image4 = cv2.imread('Image4.jpg')
  
# Adds a subplot at the 1st position
fig.add_subplot(rows, columns, 1)
  
# showing image
plt.imshow(Image1)
plt.axis('off')
plt.title("First")
  
# Adds a subplot at the 2nd position
fig.add_subplot(rows, columns, 2)
  
# showing image
plt.imshow(Image2)
plt.axis('off')
plt.title("Second")
  
# Adds a subplot at the 3rd position
fig.add_subplot(rows, columns, 3)
  
# showing image
plt.imshow(Image3)
plt.axis('off')
plt.title("Third")
  
# Adds a subplot at the 4th position
fig.add_subplot(rows, columns, 4)
  
# showing image
plt.imshow(Image4)
plt.axis('off')
plt.title("Fourth")


Output:

RELATED ARTICLES

Most Popular

Recent Comments