How to Add Title to Subplots in Matplotlib?

03 Jan, 2021
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.
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 packagesimport numpy as npimport matplotlib.pyplot as plt  # create datax=np.array([1, 2, 3, 4, 5])  # making subplotsfig, ax = plt.subplots(2, 2)  # set data with subplots and plotax[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 subplotsax[0, 0].set_title("Linear")ax[0, 1].set_title("Double")ax[1, 0].set_title("Square")ax[1, 1].set_title("Cube")  # set spacingfig.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 packagesimport numpy as npimport matplotlib.pyplot as plt  # create datax=np.array([1, 2, 3, 4, 5])  # making subplotsfig, ax = plt.subplots(2, 2)  # set data with subplots and plotax[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 subplotsax[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 spacingfig.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 packagesimport numpy as npimport matplotlib.pyplot as plt  # create datax=np.array([1, 2, 3, 4, 5])  # making subplotsfig, ax = plt.subplots(2, 2)  # set data with subplots and plottitle = ["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)           # ploting (x,y)    plt.plot(x, y[i])           # set the title to subplots    plt.gca().set_title(title[i])   # set spacingfig.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 packagesimport numpy as npimport matplotlib.pyplot as plt  # create datax=np.array([1, 2, 3, 4, 5])  # making subplotsfig, ax = plt.subplots(2, 2)  # set data with subplots and plottitle = ["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)          # ploting (x,y)    plt.plot(x, y[i])          # set the title to subplots    plt.gca().title.set_text(title[i])   # set spacingfig.tight_layout()plt.show()
Output :
Picked
Python-matplotlib
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Read JSON file using Python
Python map() function
Adding new column to existing DataFrame in Pandas
Python Dictionary
How to get column names in Pandas dataframe
Different ways to create Pandas Dataframe
Taking input in Python
Enumerate() in Python
Read a file line by line in Python
How to Install PIP on Windows ?