Cuando se trabaja con varias subtramas en una visualización, es necesario controlar el rango de ejes de cada subtrama individual para garantizar una representación adecuada de los datos. Esta pregunta explora cómo establecer el rango del eje y de una segunda subtrama dentro de un diseño de dos subtramas. El problema surge cuando un gráfico FFT muestra un pico atípico, lo que hace que los datos deseados sean invisibles.
Para solucionar este problema, use pylab.ylim([bottom, top]) después del gráfico ha sido creado. Los argumentos inferior y superior definen los límites inferior y superior del rango del eje, respectivamente.
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()
1. Migrar de Pylab a pyplot de Matplotlib
A partir de 2021, Matplotlib desaconseja enfáticamente el uso de pylab. En su lugar, se recomienda importar pyplot específicamente:
from matplotlib import pyplot as plt
2. Utilice plt.ylim() en lugar de pylab.ylim()
La sintaxis correcta para configurar el rango del eje y usando pyplot es plt.ylim(). Su uso es similar a pylab.ylim().
plt.ylim(0, 100)
3. Establecer el valor mínimo del eje X
Además de ajustar el rango del eje y, considere establecer el valor mínimo del eje x para garantizar que todo el rango del gráfico FFT sea visible.
plt.xlim(1, 1000)
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3