绘制带有matshow的matplotlib子图及其问题解决

这篇博客介绍了如何使用Python的matplotlib库在一张图上绘制12个子图,分别展示了(1,12)和(2,6)两种排列方式。在尝试将子图排列成(2,6)时,由于索引错误导致了AttributeError。通过修正索引问题,成功实现了子图的正确布局。代码示例中详细解释了如何调整索引以适应不同的子图排列方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求: 将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'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值