Maison > Article > développement back-end > Comment lisser un tracé linéaire en Python à l'aide de PyPlot et Scipy ?
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 :
Après le lissage :
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!