Heim > Backend-Entwicklung > Python-Tutorial > 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
Freigeben: 2024-11-02 16:04:02
Original
566 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage