Search code examples
pythonmatplotlibsubplotsubtitle

How to add a title to each subplot


I have one figure which contains many subplots.

fig = plt.figure(num=None, figsize=(26, 12), dpi=80, facecolor='w', edgecolor='k')
fig.canvas.set_window_title('Window Title')

# Returns the Axes instance
ax = fig.add_subplot(311) 
ax2 = fig.add_subplot(312) 
ax3 = fig.add_subplot(313) 

How do I add titles to the subplots?

fig.suptitle adds a title to all graphs and although ax.set_title() exists, the latter does not add any title to my subplots.

Thank you for your help.

Edit: Corrected typo about set_title(). Thanks Rutger Kassies


Solution

  • 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