首页 >后端开发 >Python教程 >如何设置 Y 轴范围以丰富多个子图布局中的可视化?

如何设置 Y 轴范围以丰富多个子图布局中的可视化?

Patricia Arquette
Patricia Arquette原创
2024-10-18 12:25:03463浏览

How to Set Y-Axis Range to Enrich Visualization in Multiple Subplot Layouts?

设置子图轴范围

背景

在可视化中处理多个子图时,有必要控制每个子图的轴范围以确保正确的数据表示。此问题探讨如何在双子图布局中设置第二个子图的 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn