Lorsque vous travaillez avec plusieurs sous-tracés dans une visualisation, il devient nécessaire de contrôler la plage d'axe de chaque sous-tracé individuel. pour garantir une représentation correcte des données. Cette question explore comment définir la plage de l'axe y d'un deuxième sous-tracé dans une disposition à deux sous-tracés. Le problème survient lorsqu'un tracé FFT présente un pic aberrant, rendant les données souhaitées invisibles.
Pour résoudre ce problème, utilisez pylab.ylim([bottom, top]) après le tracé a été créé. Les arguments inférieur et supérieur définissent respectivement les limites inférieure et supérieure de la plage de l'axe.
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. Migrez de Pylab vers pyplot de Matplotlib
À partir de 2021, Matplotlib déconseille fortement l'utilisation de pylab. Au lieu de cela, il est recommandé d'importer pyplot spécifiquement :
from matplotlib import pyplot as plt
2. Utilisez plt.ylim() Au lieu de pylab.ylim()
La syntaxe correcte pour définir la plage de l'axe y à l'aide de pyplot est plt.ylim(). Son utilisation est similaire à pylab.ylim().
plt.ylim(0, 100)
3. Définir la valeur minimale de l'axe X
En plus d'ajuster la plage de l'axe Y, envisagez de définir la valeur minimale de l'axe X pour garantir que toute la plage du tracé FFT est visible.
plt.xlim(1, 1000)
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3