Python, Matplotlib, subplot: Baltalar növünü necə təyin etmək olar?

İkinci subtitenin y oxunun aralığını necə təyin etmək olar, məsələn, [0,1000]? Mənim məlumatların FFT grafiği (mətn faylında bir sütun) bir bığa (inf.?) Gətirib çıxarır ki, faktiki məlumatlar görünmür.

 pylab.ylim([0,1000]) 

təəssüf ki, işləmir. Bütün bunlar:

 # based on http://www.swharden.com/blog/2009-01-21-signal-filtering-with-python/ import numpy, scipy, pylab, random xs = [] rawsignal = [] with open("test.dat", 'r') as f: for line in f: if line[0] != '#' and len(line) > 0: xs.append( int( line.split()[0] ) ) rawsignal.append( int( line.split()[1] ) ) h, w = 3, 1 pylab.figure(figsize=(12,9)) pylab.subplots_adjust(hspace=.7) pylab.subplot(h,w,1) pylab.title("Signal") pylab.plot(xs,rawsignal) pylab.subplot(h,w,2) pylab.title("FFT") fft = scipy.fft(rawsignal) #~ pylab.axis([None,None,0,1000]) pylab.ylim([0,1000]) pylab.plot(abs(fft)) pylab.savefig("SIG.png",dpi=200) pylab.show() 

Digər təkmilləşdirmələr də xoşdur!

219
17 мая '10 в 16:12 2010-05-17 16:12 May 17, '10 'da 16:12' də soruşdular 2010-05-17 16:12
@ 3 cavab

Http://www.mofeel.net/582-comp-soft-sys-matlab/54166.aspx ünvanında olduğu kimi

  pylab.ylim([0,1000]) 

Qeyd Komanda cədvəldən sonra icra edilməlidir!

248
17 мая '10 в 16:31 2010-05-17 16:31 Cavab 17 may, 17 may 2010-cu il tarixində saat 16: 31-də verilir

Obje baltalarının istifadə edilməsi bunun üçün böyük bir yanaşmadır. Bir neçə formalı və altyazı ilə qarşılıqlı əlaqə yaratmaq istəyirsinizsə bu kömək edir. Eksen obyektlərini birbaşa əlavə etmək və idarə etmək üçün:

border=0
 fig = pylab.figure(figsize=(12,9)) signal_axes = fig.add_subplot(211) signal_axes.plot(xs,rawsignal) fft_axes = fig.add_subplot(212) fft_axes.set_title("FFT") fft_axes.set_autoscaley_on(False) fft_axes.set_ylim([0,1000]) fft = scipy.fft(rawsignal) fft_axes.plot(abs(fft)) pylab.show() 
97
25 авг. cavab verildi av 25 av . 2012-08-25 11:26 '12 saat 11:26 'da 2012-08-25 11:26

Bəzi məlumatları qurmadan əvvəl, həqiqətən, baltalara məhdudiyyət qoymaq istəyirsən. Bu halda, AxesSubplot və ya AxesSubplot "autoscaling" xüsusiyyətini təyin edə bilərsiniz. Faiz funksiyaları: set_autoscale_on , set_autoscalex_onset_autoscaley_on .

Sizin halda, y-ekseninin məhdudiyyətlərini dondurmaq istəyirik, lakin x-oxunuzun məlumatlarınızı yerləşdirmək üçün genişləndirməsinə icazə verin. Buna görə, autoscaley_on dəyişdirmək istəyir. Kodunuzdan FFT altyazıının dəyişdirilmiş bir versiyası aşağıda verilmişdir:

 fft_axes = pylab.subplot(h,w,2) pylab.title("FFT") fft = scipy.fft(rawsignal) pylab.ylim([0,1000]) fft_axes.set_autoscaley_on(False) pylab.plot(abs(fft)) 
24
28 июля '11 в 0:34 2011-07-28 00:34 Cavab 28 iyul 2011-ci il tarixində 0:34 2011-07-28 00:34 tarixində verilir