在子图中居中显示标题(matplotlib,pyplot)

6
我是一名有用的助手,可以翻译文本。
我有一个3x2等大小绘图网格。我使用以下命令:
plt.suptitle("Awesome title")     # (1)

我希望标题可以居中显示在6个图表之上。我使用以下命令:

plt.title("Almost awesome title") # (2)

对于每个子图,我希望有一个特定的标题。现在是棘手的部分:我想要一个居中的标题,位于第一行和第二行子图之间。在将(2)的位置参数修改为类似于(1.1, 1.0)的东西之后,我似乎无法获得一个正确/漂亮格式化的图形。

简而言之:我想要一个额外的plt.suptitle("Title"),如下图所示放置:(photoshopped)

Arbitrary plot to illustrate point of centered titles inside subplots

1个回答

11

只需要在行之间留出一些额外的空间,并添加文本:

fig, axs = plt.subplots(2, 2)
plt.sca(axs[0,0])
plt.title('Sigmoid')
plt.sca(axs[0,1])
plt.title('ReLU')
plt.suptitle('Activation functions')

# Adjust vertical_spacing = 0.5 * axes_height
plt.subplots_adjust(hspace=0.5)

# Add text in figure coordinates
plt.figtext(0.5, 0.5, 'Effect of bias addition', ha='center', va='center')

在此输入图片描述


啊,图形坐标对我来说是新的东西,-解决了!太好了! - Håkon T.
2
但这意味着,每次添加新的绘图行时,您都必须调整所有标题位置,对吗? - Ben

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接