Heim > Artikel > Backend-Entwicklung > Wie glätte ich ein Liniendiagramm in Python mit PyPlot und Scipy?
PyPlots standardmäßige Liniendiagrammmethode verbindet Datenpunkte mit geraden Linien. Dieser Ansatz kann insbesondere bei großen Datensätzen zu gezackten Linien führen. Glücklicherweise gibt es eine einfache Möglichkeit, diese Linien mit scipy.interpolate.spline zu glätten.
<code class="python"># Import necessary libraries import matplotlib.pyplot as plt import numpy as np from scipy.interpolate import spline # Define data arrays T = np.array([6, 7, 8, 9, 10, 11, 12]) power = np.array([1.53E+03, 5.92E+02, 2.04E+02, 7.24E+01, 2.72E+01, 1.10E+01, 4.70E+00]) # Generate a smoothed spline xnew = np.linspace(T.min(), T.max(), 300) power_smooth = spline(T, power, xnew) # Plot the smoothed line plt.plot(xnew, power_smooth) plt.show()</code>
Vor dem Glätten:
Nach dem Glätten:
Alternativ können Sie BSpline von scipy.interpolate.make_interp_spline für einen moderneren Ansatz verwenden:
<code class="python"># Import make_interp_spline and BSpline from scipy.interpolate import make_interp_spline, BSpline # Generate a smoothed spline using BSpline spl = make_interp_spline(T, power, k=3) power_smooth = spl(xnew) # Plot the smoothed line plt.plot(xnew, power_smooth) plt.show()</code>
Das obige ist der detaillierte Inhalt vonWie glätte ich ein Liniendiagramm in Python mit PyPlot und Scipy?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!