我试图同时使用两者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()
Run Code Online (Sandbox Code Playgroud)
给我们以下未对齐的标题:
我怎样才能让这两个标题正确对齐?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()
Run Code Online (Sandbox Code Playgroud)
小智 13
matplotlib 将副标题与图对齐,将标题与子图对齐。您可以使用以下命令手动调整字幕fig.subplotpars:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
cats = ('One', 'Two')
vals = (12, 4)
# Mid point of left and right x-positions
mid = (fig.subplotpars.right + fig.subplotpars.left)/2
ax.barh(cats, vals, align='center')
plt.suptitle('Title',x=mid)
ax.set_title('Title')
plt.show()
Run Code Online (Sandbox Code Playgroud)
享受!