I'm trying to use both ax.set_title()
and plt.suptitle()
to incorporate a title and a subtitle to a graph, but the two seem to not share the same alignment. For example, the following:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
cats = ('One', 'Two')
vals = (12, 4)
ax.barh(cats, vals, align='center')
plt.suptitle('Title')
ax.set_title('Title')
plt.show()
Gives us the following misaligned titles:
How can I get these two titles to align properly? I thought it may be something to do with ax.title
aligning to the axis and plt.suptitle
aligning to the figure, but testing a much longer y label doesn't seem to affect the offset:
fig, ax = plt.subplots()
cats = ('One million tiny engines running at one hundred miles per hour', 'Two')
vals = (12, 4)
ax.barh(cats, vals, align='center')
plt.suptitle('Title')
ax.set_title('Title')
plt.show()