Maison  >  Article  >  développement back-end  >  Comment lisser un tracé linéaire en Python à l'aide de PyPlot et Scipy ?

Comment lisser un tracé linéaire en Python à l'aide de PyPlot et Scipy ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-02 16:04:02444parcourir

Lisser un tracé linéaire avec PyPlot

La méthode de tracé linéaire par défaut de PyPlot connecte les points de données avec des lignes droites. Cette approche peut entraîner des lignes irrégulières, en particulier lorsqu'il s'agit de grands ensembles de données. Heureusement, il existe un moyen simple de lisser ces lignes à l'aide de scipy.interpolate.spline.

<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>

Avant le lissage :
How to Smooth a Line Plot in Python using PyPlot and Scipy?

Après le lissage :
How to Smooth a Line Plot in Python using PyPlot and Scipy?

Vous pouvez également utiliser BSpline à partir de scipy.interpolate.make_interp_spline pour une approche plus moderne :

<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>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn