子图中的中心标题(matplotlib,pyplot)

时间:2017-01-06 10:58:07

标签: python-2.7 matplotlib title subplot

我有一个3x2网格的大小相等的图。我使用命令

plt.suptitle("Awesome title")     # (1)

在6个地块上方有一个居中的标题。我使用命令

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

表示每个子图上方的特定标题。现在是棘手的部分:我希望在第一行和第二行子图之间有一个居中的标题。在将(2)的位置参数操作为类似(1.1,1.0)之后,我似乎无法获得正确/格式良好的图形。

TL; DR:我想要一个额外的plt.suptitle("Title"),如下图所示:(photoshopped)

Arbitrary plot to illustrate point of centered titles inside subplots

1 个答案:

答案 0 :(得分:3)

只需在行之间腾出一些空间,然后添加文字:

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')

enter image description here