在matplotlib中显示Main和Subplot标题

时间:2015-01-25 21:25:01

标签: python matplotlib

如截图所示,我们只看到一个标题 - 两个子图中的一个。我遗漏了一些关于如何显示以下三个标题的细节:

  • 整体情节
  • subplot 1
  • subplot 2

以下是子图和标题的相关代码:

    fig = plt.figure()
    fig.suptitle('Power Iteration Clustering Inputs And Outputs') #NO show
    ax = fig.add_subplot(211)
    self.plotInputCircles(ax)
    ax.set_title('Input Circles Data',fontsize='medium')  #Shows up!
    ax = fig.add_subplot(212)
    self.plotOutputs(ax)
    ax.set_title('Output Pseudo Eigenvector',fontsize='medium')  #NO show
    plt.subplots_adjust(hspace=0.1, wspace=0.2)
    plt.show()

enter image description here

UPDATE 子程序正在破坏标题显示(由@cel怀疑)。根据@cel的建议,我发布的答案同样多。

1 个答案:

答案 0 :(得分:2)

问题与标题无关。根据@cel的提示,我更仔细地研究了生成子图的两个子例程。其中一个有一个偷偷摸摸的列表理解错误。

对于读者来说,这里是使用伪sin / cos的更新信息,它可以正常工作而不是子程序。

fig = plt.figure()
fig.suptitle('Power Iteration Clustering Inputs And Outputs')
ax = fig.add_subplot(211)
x = np.linspace(-2.5,2.5,100)
ax.plot(x, np.sin(x))
# self.plotInputCircles(ax)
ax.set_title('Labeled Input Circles Data',fontsize='medium')
ax = fig.add_subplot(212)
# self.plotOutputs(ax)
x = np.linspace(-2.5,2.5,100)
ax.plot(x, np.cos(x))
ax.set_title('Output Pseudo Eigenvector',fontsize='medium')
plt.subplots_adjust(hspace=0.5, wspace=1.0)
plt.show()

enter image description here