Heim  >  Artikel  >  Backend-Entwicklung  >  Wie glätte ich ein Liniendiagramm in Python mit PyPlot und Scipy?

Wie glätte ich ein Liniendiagramm in Python mit PyPlot und Scipy?

Susan Sarandon
Susan SarandonOriginal
2024-11-02 16:04:02449Durchsuche

Ein Liniendiagramm mit PyPlot glätten

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:
How to Smooth a Line Plot in Python using PyPlot and Scipy?

Nach dem Glätten:
How to Smooth a Line Plot in Python using PyPlot and Scipy?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn