使用Matplotlib在多个for循环上沿一个轴绘制多个图像

时间:2020-11-11 16:12:01

标签: python numpy for-loop matplotlib plot

这是我的情况, 我有一个数据集,其中每个点代表一张图像。该代码从每个小时的数据集中选择五个更高的值(“异常”),并为每个异常值检索图像。 该代码运行良好,并且正在检索应该的图像。 对于每个“异常”事件,它将检索5个与异常事件相关的图像。 现在,我想并排绘制每个事件的图像,而不是互相吼叫。 我在matplotlib上的技能非常有限,因此,如果有人可以帮助,那将是很棒的。 谢谢!

代码如下:

nMin=5
luminosity=np.load('luminosity.npy')
(hours,imageNumber)=luminosity.shape
for hour in np.arange(hours):
    a=luminosity[hour]
    a=a[a>1]
    if np.any(a>1):
        grad=np.gradient(a,2)
        plt.plot(grad,color='k', linestyle='', marker='.')
        plt.title( 'Hourly Luminosity')
        plt.show()
        maximos=np.array(np.argsort(-grad)[:nMin])
        print(maximos)
        for i in range(nMin):
            for l in range(5):
                print('anomaly ',i,maximos[i])
                imageArray = np.array(cv.imread(imageFiles[maximos[i]-2+l]))[:,:,0]              
                plt.imshow(imageArray, interpolation='None')                
                plt.show()

在输出中,我正在接收一个异常0的图像,然后接收另一个异常0的图像,直到5个异常0的图像。一个异常1的图像,直到5。等等。 对于每个异常,我需要这些图像并排放置。 谢谢!

0 个答案:

没有答案