Bei der Arbeit mit mehreren Unterplots in einer Visualisierung ist es notwendig, den Achsenbereich jedes einzelnen Unterplots zu steuern um eine ordnungsgemäße Datendarstellung sicherzustellen. In dieser Frage wird untersucht, wie der Y-Achsenbereich eines zweiten Unterplots innerhalb eines Layouts mit zwei Unterplots festgelegt wird. Das Problem entsteht, wenn ein FFT-Diagramm eine Ausreißerspitze aufweist, wodurch die gewünschten Daten unsichtbar werden.
Um dieses Problem zu beheben, verwenden Sie pylab.ylim([bottom, top]) nach dem Diagramm wurde erstellt. Die unteren und oberen Argumente definieren jeweils die untere und obere Grenze des Achsenbereichs.
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. Von Pylab auf Matplotlibs Pyplot migrieren
Ab 2021 rät Matplotlib dringend von der Verwendung von Pylab ab. Stattdessen wird empfohlen, Pyplot speziell zu importieren:
from matplotlib import pyplot as plt
2. Verwenden Sie plt.ylim() anstelle von pylab.ylim()
Die korrekte Syntax zum Festlegen des Y-Achsenbereichs mithilfe von Pyplot ist plt.ylim(). Seine Verwendung ähnelt pylab.ylim().
plt.ylim(0, 100)
3. Legen Sie den Mindestwert für die ]plt.xlim(1, 1000)
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3