Birçok anten taban çizgisinden veri gözlemlemeyi işliyorum. Şu anda çalışıyorum, her biri 4x5 subplot bölgesi olan ~ 40 rakamı çizmek. Şekilleri matplotlib ile döngüler halinde çizerken ve kaydederken yavaş buldum.Çok sayıda çizimi çizerken ve kaydederken matplotlib nasıl hızlandırılır?
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
Ve excution zaman bilgisi olan:
Gördüğünüz gibi######### 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
, sadece yaklaşık 11 saniye maliyeti 4 rakamları çizmek İşte benim kodlardır. Tüm 39 rakamları çizmek ve kaydetmek için ~ 2 dakika sürer. Darboğazın nerede olduğunu bilmiyorum. Daha hızlı yapmanıza yardımcı olabilir misiniz? Teşekkürler!
unutbu, Kodlarınızı çalıştırmayı denedim. Dizüstü bilgisayarımdaki toplam çıkma süresinin 68.515999794 saniyeye kısaltılması şaşırtıcı. Bana çok yardımcı, teşekkürler. Ve aynı eksenleri yeniden kullanmak (veya 'dondurmak') iyi bir ipucu! –