在可视化中处理多个子图时,有必要控制每个子图的轴范围以确保正确的数据表示。此问题探讨如何在双子图布局中设置第二个子图的 y 轴范围。当 FFT 图出现异常尖峰,导致所需数据不可见时,就会出现此问题。
要解决此问题,请在绘图后使用 pylab.ylim([bottom, top])已创建。底部和顶部参数分别定义轴范围的下限和上限。
<code class="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.plot(abs(fft)) pylab.ylim([0,1000]) # Set the y-axis range pylab.savefig("SIG.png",dpi=200) pylab.show()</code>
1。从 Pylab 迁移到 Matplotlib 的 pyplot
从 2021 年开始,Matplotlib 强烈建议不要使用 pylab。相反,建议专门导入 pyplot:
<code class="python">from matplotlib import pyplot as plt</code>
2.使用 plt.ylim() 而不是 pylab.ylim()
使用 pyplot 设置 y 轴范围的正确语法是 plt.ylim()。其用法与 pylab.ylim() 类似。
<code class="python">plt.ylim(0, 100) </code>
3.设置最小 X 轴值
除了调整 y 轴范围外,还可以考虑设置最小 x 轴值以确保 FFT 图的整个范围都可见。
<code class="python">plt.xlim(1, 1000)</code>
以上是如何设置 Y 轴范围以丰富多个子图布局中的可视化?的详细内容。更多信息请关注PHP中文网其他相关文章!