Как ускорить matplotlib при построении и сохранении большого количества фигур?

Я обрабатываю данные наблюдений от многих базовых антенн. В настоящее время я работаю над тем, чтобы построить ~ 40 фигур, каждая из которых имеет область 4x5. Я нашел это медленно при построении и сохранении фигур с помощью matplotlib в циклах. Вот мои коды:

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

    PLT_PAGE_NUM = 39 # default is 39
    SUB_PLT_NUM = 20 # default is 20

    for pp in xrange(0,PLT_PAGE_NUM):

        plt.figure(figsize=(20,12))

        start_time = time.clock() 
        for kk in xrange(0,SUB_PLT_NUM):
            plt.subplot(5,4,kk+1)
            plt.plot(np.arange(0,TIME_LENGTH), xcor_real_arr[20*pp+kk,0:],'r-',
                     range(0,TIME_LENGTH), xcor_imag_arr[20*pp+kk,0:],'b-')
            plt.title('XCOR of '+ ind_arr[20*pp+kk], color='k') 

        plt.savefig('test_imag_real'+str(pp)+'.png',format='png',dpi=100)
        print 'Fig-'+str(pp)+' has been saved'
        print "Excution time:", time.clock()-start_time

И информация о времени освобождения:

######### Check your inputs setting #########
You have selected 2 files.
The time interval is From 2011-10-20_14:28:38 to 2011-10-20_15:10:54
Your time resolution is set to 1.125s
The total plot points number is: 100
Your frequency channel is: ch2
######### Hardworking...please wait #########
Fig-0 has been saved
Excution time: *2.52576639619*
Fig-1 has been saved
Excution time: *2.59867230708*
Fig-2 has been saved
Excution time: *2.81915188482*
Fig-3 has been saved
Excution time: *2.83102198991*
Program ends

Как вы видели, я просто рисую 4 цифры, которые стоят около 11 секунд. Для построения и сохранения всех 39 фигур требуется ~ 2 минуты. Я не & знать, где находится узкое место. Можете ли вы помочь сделать это быстрее? Thanks!

Ответы на вопрос(1)

Ваш ответ на вопрос