需求: 将12张matshow子图绘制在一张图上
一、如果绘制成(1,12)维度的子图,代码如下:
import matplotlib.pyplot as plt
import matplotlib;matplotlib.use('TkAgg')
fig, axes = plt.subplots(nrows=1, ncols=12)
for i, plt_image in enumerate(plt_images): # plt_images是个存了12组ndarray数据的list
axes[i].matshow(plt_image, cmap=plt.get_cmap('Greens'), alpha=0.5)
axes[i].set_title("ratio:"+str(args.ratios[i]))
plt.show()
运行结果为:
但如果把排列方式从(1,12)直接改成(2,6),会报如下错误:
AttributeError: 'numpy.ndarray' object has no attribute 'matshow'