Home >Backend Development >Python Tutorial >How to Set Y-Axis Range to Enrich Visualization in Multiple Subplot Layouts?
When working with multiple subplots in a visualization, it becomes necessary to control the axis range of each individual subplot to ensure proper data representation. This question explores how to set the y-axis range of a second subplot within a two-subplot layout. The issue arises when an FFT plot exhibits an outlier spike, rendering the desired data invisible.
To address this issue, use pylab.ylim([bottom, top]) after the plot has been created. The bottom and top arguments define the lower and upper bounds of the axis range, respectively.
<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. Migrate from Pylab to Matplotlib's pyplot
As of 2021, Matplotlib strongly discourages the use of pylab. Instead, it is recommended to importpyplot specifically:
<code class="python">from matplotlib import pyplot as plt</code>
2. Use plt.ylim() Instead of pylab.ylim()
The correct syntax for setting the y-axis range using pyplot is plt.ylim(). Its usage is similar to pylab.ylim().
<code class="python">plt.ylim(0, 100) </code>
3. Set Minimum X-Axis Value
In addition to adjusting the y-axis range, consider setting the minimum x-axis value to ensure the entire range of the FFT plot is visible.
<code class="python">plt.xlim(1, 1000)</code>
The above is the detailed content of How to Set Y-Axis Range to Enrich Visualization in Multiple Subplot Layouts?. For more information, please follow other related articles on the PHP Chinese website!