在 matplotlib 中显示主图和副图标题
Displaying Main and Subplot Titles in matplotlib
如屏幕截图所示,我们只看到一个标题 - 用于两个子图之一。我遗漏了一些有关如何显示以下 三个 标题的详细信息:
- 总剧情
- 子图 1
- 子图 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()
UPDATE 子程序正在破坏标题显示(@cel 怀疑)。根据@cel 的建议,我发布了一个同样说明的答案。
问题与标题无关。根据@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()
如屏幕截图所示,我们只看到一个标题 - 用于两个子图之一。我遗漏了一些有关如何显示以下 三个 标题的详细信息:
- 总剧情
- 子图 1
- 子图 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()
UPDATE 子程序正在破坏标题显示(@cel 怀疑)。根据@cel 的建议,我发布了一个同样说明的答案。
问题与标题无关。根据@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()