我有一个包含许多子图的图。
fig = plt.figure(num=None, figsize=(26, 12), dpi=80, facecolor='w', edgecolor='k')
fig.canvas.set_window_title('Window Title')
# Returns the Axes instance
ax = fig.add_subplot(311)
ax2 = fig.add_subplot(312)
ax3 = fig.add_subplot(313)
如何给子情节添加标题?
Fig.suptitle为所有图形添加一个标题,尽管ax.set_title()存在,但后者并不为我的子图添加任何标题。
谢谢你的帮助。
编辑:
更正了关于set_title()的拼写错误。谢谢Rutger Kassies
fig, (ax1, ax2, ax3, ax4) = plt.subplots(nrows=1, ncols=4,figsize=(11, 7))
grid = plt.GridSpec(2, 2, wspace=0.2, hspace=0.5)
ax1 = plt.subplot(grid[0, 0])
ax2 = plt.subplot(grid[0, 1:])
ax3 = plt.subplot(grid[1, :1])
ax4 = plt.subplot(grid[1, 1:])
ax1.title.set_text('First Plot')
ax2.title.set_text('Second Plot')
ax3.title.set_text('Third Plot')
ax4.title.set_text('Fourth Plot')
plt.show()
如果你有多个图像,你想要循环遍历它们,并逐个显示它们和标题-这就是你可以做的。不需要显式地定义ax1、ax2等。
问题在于,您可以在代码的第1行中定义动态轴(ax)
你可以在循环中设置它的标题。
二维数组的行数为轴(ax)的长度(len)
每行有2项,即它是列表中的列表(第2点)
Set_title可用于设置标题,一旦适当的轴(ax)或subplot被选择。
import matplotlib.pyplot as plt
fig, ax = plt.subplots(2, 2, figsize=(6, 8))
for i in range(len(ax)):
for j in range(len(ax[i])):
## ax[i,j].imshow(test_images_gr[0].reshape(28,28))
ax[i,j].set_title('Title-' + str(i) + str(j))