Open In App

How to Add Title to Subplots in Matplotlib?

Last Updated : 26 Nov, 2022
Suggest changes
Share
Like Article
Like
Report

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 :


Next Article

Similar Reads

Article Tags :
Practice Tags :