Làm cách nào tôi có thể đặt phạm vi trục y của phụ đề thứ hai thành ví dụ: [0,1000]? Mảng FFT của dữ liệu của tôi (một cột trong một tệp văn bản) dẫn đến một (inf.?) Tăng đột biến để dữ liệu thực tế không hiển thị.Python, Matplotlib, subplot: Cách đặt phạm vi trục?
pylab.ylim([0,1000])
không có tác dụng. Đây là toàn bộ tập lệnh:
# 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()
Các cải tiến khác cũng được đánh giá cao!
Xem thêm http://stackoverflow.com/questions/15858192/how-to-set-xlim-and-ylim-for-a-subplot-in-matplotlib/15858264? Noredirect = 1 – tacaswell