在一个for循环中使用subplot来在一个图形中显示多个图片,可以通过以下步骤实现:
import matplotlib.pyplot as plt
fig, axes = plt.subplots(nrows=num_rows, ncols=num_cols)
其中,num_rows
和num_cols
分别表示子图的行数和列数。
axes[row_index, col_index]
来选择当前子图,并在该子图中显示图片:for i, img in enumerate(images):
row_index = i // num_cols
col_index = i % num_cols
axes[row_index, col_index].imshow(img)
其中,images
是一个包含多个图片的列表,enumerate
函数用于同时获取图片的索引和内容。imshow
函数用于显示图片。
axes[row_index, col_index].set_title(title)
plt.tight_layout()
其中,title
是子图的标题,tight_layout
函数用于调整子图之间的间距,使其更美观。
完整的代码示例:
import matplotlib.pyplot as plt
# 创建图形对象和子图对象
fig, axes = plt.subplots(nrows=num_rows, ncols=num_cols)
# 在循环中显示图片
for i, img in enumerate(images):
row_index = i // num_cols
col_index = i % num_cols
axes[row_index, col_index].imshow(img)
axes[row_index, col_index].set_title(title)
# 调整子图间距
plt.tight_layout()
# 显示图形
plt.show()
这样,就可以在一个图形中使用subplot来显示多个图片了。
领取专属 10元无门槛券
手把手带您无忧上云