How to add title to subplots in Matplotlib How to add title to subplots in Matplotlib python python

How to add title to subplots in Matplotlib


ax.title.set_text('My Plot Title') seems to work too.

fig = plt.figure()ax1 = fig.add_subplot(221)ax2 = fig.add_subplot(222)ax3 = fig.add_subplot(223)ax4 = fig.add_subplot(224)ax1.title.set_text('First Plot')ax2.title.set_text('Second Plot')ax3.title.set_text('Third Plot')ax4.title.set_text('Fourth Plot')plt.show()

matplotlib add titles on subplots


ax.set_title() should set the titles for separate subplots:

import matplotlib.pyplot as pltif __name__ == "__main__":    data = [1, 2, 3, 4, 5]    fig = plt.figure()    fig.suptitle("Title for whole figure", fontsize=16)    ax = plt.subplot("211")    ax.set_title("Title for first plot")    ax.plot(data)    ax = plt.subplot("212")    ax.set_title("Title for second plot")    ax.plot(data)    plt.show()

Can you check if this code works for you? Maybe something overwrites them later?


A shorthand answer assuming import matplotlib.pyplot as plt:

plt.gca().set_title('title')

as in:

plt.subplot(221)plt.gca().set_title('title')plt.subplot(222)etc...

Then there is no need for superfluous variables.