python – How to add title to subplots in Matplotlib

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

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

import matplotlib.pyplot as plt

if __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?

python – How to add title to subplots in Matplotlib

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.

Leave a Reply

Your email address will not be published. Required fields are marked *