pyplot-imshow()返回具有多个子图的循环


data.shape
(800, 49, 6)

我想在一个循环中做这件事,但我也想控制各个颜色条。如何将ax[].imshow()的返回分配给以后可以引用的数组?

# 6 plots in one row
fig,ax = plt.subplots(1,6)  
im0 = ax[0].imshow(data[:,:,0])
im1 = ax[1].imshow(data[:,:,1])
im2 = ax[2].imshow(data[:,:,2])
im3 = ax[3].imshow(data[:,:,3])
im4 = ax[4].imshow(data[:,:,4])
im5 = ax[5].imshow(data[:,:,5])
fig.colorbar(im5,extend='max')

希望这个循环。如何将im[]声明为将接受ax.imshow()返回的类型?

for i in np.arange(6):
im[i] = ax[i].imshow(data[:,:,i])
fig.colorbar(im[5],extend='max')
``

创建一个空列表并将元素追加到循环中。

im = []
for i in np.arange(6):
im.append(ax[i].imshow(data[:,:,i]))
fig.colorbar(im[5],extend='max')

可以简化为列表理解(但这可能更难阅读(:

im = [ax[i].imshow(data[:,:,i]) for i in np.arange(6)]

最新更新