Friday, November 15, 2024
Google search engine
HomeLanguagesHow to Add Title to Subplots in Matplotlib?

How to Add Title to Subplots in Matplotlib?

In this article, we will see how to add a title to subplots in Matplotlib? Let’s discuss some concepts :

  • Matplotlib : Matplotlib is an amazing visualization library in Python for 2D plots of arrays. Matplotlib is a multi-platform data visualization library built on NumPy arrays and designed to work with the broader SciPy stack. It was introduced by John Hunter in the year 2002.
  • Subplots : The subplots() function in pyplot module of matplotlib library is used to create a figure and a set of subplots. Subplots are required when we want to show two or more plots in same figure.
  • Title of a plot : The title() method in matplotlib module is used to specify title of the visualization depicted and displays the title using various attributes.

Steps Needed

  • Import Libraries
  • Create/ Load data
  • Make subplot
  • Plot subplot
  • Set title to subplots.

Example 1: (Using set_title() method)

We use matplotlib.axes._axes.Axes.set_title(label) method to set title (string label) for the current subplot Axes.

Python3




# importing packages
import numpy as np
import matplotlib.pyplot as plt
 
# create data
x=np.array([1, 2, 3, 4, 5])
 
# making subplots
fig, ax = plt.subplots(2, 2)
 
# set data with subplots and plot
ax[0, 0].plot(x, x)
ax[0, 1].plot(x, x*2)
ax[1, 0].plot(x, x*x)
ax[1, 1].plot(x, x*x*x)
 
# set the title to subplots
ax[0, 0].set_title("Linear")
ax[0, 1].set_title("Double")
ax[1, 0].set_title("Square")
ax[1, 1].set_title("Cube")
 
# set spacing
fig.tight_layout()
plt.show()


Output:

Example 2: (Using title.set_text() method)

We can also add title to subplots in Matplotlib using title.set_text() method, in similar way to set_title() method.

Python3




# importing packages
import numpy as np
import matplotlib.pyplot as plt
 
# create data
x=np.array([1, 2, 3, 4, 5])
 
# making subplots
fig, ax = plt.subplots(2, 2)
 
# set data with subplots and plot
ax[0, 0].plot(x, x)
ax[0, 1].plot(x, x*2)
ax[1, 0].plot(x, x*x)
ax[1, 1].plot(x, x*x*x)
 
# set the title to subplots
ax[0, 0].title.set_text("Linear")
ax[0, 1].title.set_text("Double")
ax[1, 0].title.set_text("Square")
ax[1, 1].title.set_text("Cube")
 
# set spacing
fig.tight_layout()
plt.show()


Output:

Example 3: (Using plt.gca().set_title() method)

If you use Matlab-like style in the interactive plotting, then you could use plt.gca() to get the reference of the current axes of the subplot and combine set_title() method to set title to the subplots in Matplotlib.

Python3




# importing packages
import numpy as np
import matplotlib.pyplot as plt
 
# create data
x=np.array([1, 2, 3, 4, 5])
 
# making subplots
fig, ax = plt.subplots(2, 2)
 
# set data with subplots and plot
title = ["Linear", "Double", "Square", "Cube"]
y = [x, x*2, x*x, x*x*x]
 
for i in range(4):
       
    # subplots
    plt.subplot(2, 2, i+1)
     
    # plotting (x,y)
    plt.plot(x, y[i])
     
    # set the title to subplots
    plt.gca().set_title(title[i])
 
# set spacing
fig.tight_layout()
plt.show()


Output :

Example 4: (Using plt.gca().title.set_text() method)

If you use Matlab-like style in the interactive plotting, then you could use plt.gca() to get the reference of the current axes of the subplot and combine title.set_text() method to set title to the subplots in Matplotlib.

Python3




# importing packages
import numpy as np
import matplotlib.pyplot as plt
 
# create data
x=np.array([1, 2, 3, 4, 5])
 
# making subplots
fig, ax = plt.subplots(2, 2)
 
# set data with subplots and plot
title = ["Linear","Double","Square","Cube"]
y = [x, x*2, x*x, x*x*x]
 
for i in range(4):
       
    # subplots
    plt.subplot(2, 2, i+1)
     
    # plotting (x,y)
    plt.plot(x, y[i])
     
    # set the title to subplots
    plt.gca().title.set_text(title[i])
 
# set spacing
fig.tight_layout()
plt.show()


Output :

RELATED ARTICLES

Most Popular

Recent Comments