我试图同时使用ax.set_title()
和plt.suptitle()
来将标题和副标题合并到图表中,但这两个似乎并不共享相同的对齐方式。例如:
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()
给出了以下未对齐的标题:
如何才能使这两个标题正确地对齐?我认为这可能是与ax.title
对齐轴和plt.suptitle
对齐图有关,但测试一个更长的y标签似乎不会影响偏移:
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()
3条答案
按热度按时间az31mfrm1#
matplotlib将suptitle与 figure 对齐,将title与 subplot 对齐。您可以使用
fig.subplotpars
手动抖动suptitle:好好享受吧
gstyhher2#
我知道这不是一个完美的答案,基本上是我的评论的转发,但这里没有什么:
您需要根据字体大小手动调整.95和.9值。
xt0899hw3#
如果你真的不需要
subtitle