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()
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.