Maison > développement back-end > Tutoriel Python > 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
Libérer: 2024-11-02 16:04:02
original
525 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal