优化python matplotlib

时间:2018-11-21 01:26:30

标签: python matplotlib subplot

我有一个程序,可以从相机供稿生成ndarray。我想尽可能快地无限绘制它们。我的代码有两个问题:1.-随着迭代的进行,它变得越来越慢。 2.-我希望它更快,我尝试使用animation.FuncAnimation没有成功,我不知道是否有更好的方法来解决此问题。谢谢!

import matplotlib.pyplot as plt
import numpy as np
import time

fig=plt.figure() #open figure

for lp in range(30): #repeat plot update 30 times for this example, in my program it will loop infinitely
    print('-------------loop',lp,':')
    number_of_grids = 12
    grids = np.random.rand(number_of_grids,10,10) #12 10x10 random grids used as example of incoming data

    start = time.time()

    if lp==0: #print for first time
        CreatedSubplots=[]
        for indx in range(number_of_grids):#repeat 12 times, one for every 10x10 grid
            ax = fig.add_subplot(4, 3, indx+1)
            ax.imshow(grids[indx])
            ax.set_xticks([])
            ax.set_yticks([])
            ax.axis('off')
            CreatedSubplots.append(ax)
        plt.tight_layout()
    else: #part to be optimised
        for indx in range(number_of_grids):
            CreatedSubplots[indx].imshow(grids[indx])
    plt.pause(.001)
    end = time.time()
    print('Print grids', end - start)

0 个答案:

没有答案