【发布时间】:2019-09-10 01:08:19
【问题描述】:
我正在尝试在多面板图形上方调整 suptitle,但无法弄清楚如何调整 figsize 并随后定位字幕。
问题是调用plt.suptitle("my title", y=...)调整字幕位置也会调整图形尺寸。几个问题:
suptitle(..., y=1.1)实际上把标题放在哪里了?据我所知,suptitle的y参数的文档指向matplotlib.text.Text,但是当你有多个子图时,我不知道图形坐标是什么意思。将
y指定为suptitle时对图形大小有什么影响?-
如何手动调整图形大小和间距(
subplots_adjust?)为每个面板添加图形标题并为整个图形添加副标题,保持图形中每个轴的大小?
一个例子:
data = np.random.random(size=100)
f, a = plt.subplots(2, 2, figsize=(10, 5))
a[0,0].plot(data)
a[0,0].set_title("this is a really long title\n"*2)
a[0,1].plot(data)
a[1,1].plot(data)
plt.suptitle("a big long suptitle that runs into the title\n"*2, y=1.05);
显然,我可以在每次制作图形时调整 y,但我需要一个通常无需人工干预即可工作的解决方案。我尝试过约束布局和紧凑布局;两者都不能可靠地处理任何复杂的图形。
【问题讨论】:
-
" 我尝试过约束布局和紧凑布局;对于任何复杂的图形都不能可靠地工作。"紧凑的布局根本不适合
suptitle。 constrained_layout 应该,所以如果你确实有它不起作用的情况,请在 GitHub 上打开一个问题,并用一个显示问题的最小示例。 -
见Matplotlib tight_layout() doesn't take into account figure suptitle
fig.tight_layout(rect=[0, 0.03, 1, 0.95])
标签: python matplotlib