"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je lisser les lignes dans Matplotlib pour une meilleure visualisation ?

Comment puis-je lisser les lignes dans Matplotlib pour une meilleure visualisation ?

Publié le 2024-11-10
Parcourir:208

How can I smooth lines in Matplotlib for better visualization?

Lissage des lignes dans Matplotlib

Dans Matplotlib, les tracés connectent généralement les points de données avec des lignes droites. Bien que cela puisse être acceptable dans certains scénarios, le graphique résultant peut paraître irrégulier ou visuellement peu attrayant. Ce problème peut être résolu en lissant les lignes, ce qui donne une visualisation plus soignée et informative.

Utilisation de l'interpolation de SciPy

Pour lisser les lignes dans Matplotlib, vous pouvez exploiter les capacités de la bibliothèque SciPy. En appelant scipy.interpolate.spline, vous pouvez générer une fonction d'interpolation qui produira une courbe lisse qui passe par les points de données d'origine.

from scipy.interpolate import spline

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

xnew = np.linspace(T.min(), T.max(), 300)  # Define the number of points for smoothing

power_smooth = spline(T, power, xnew)

plt.plot(xnew, power_smooth)

Dans les versions SciPy 0.19.0 et ultérieures, spline a été obsolète et remplacée par la classe BSpline. Pour obtenir des résultats similaires, vous pouvez utiliser le code suivant :

from scipy.interpolate import make_interp_spline, BSpline

spl = make_interp_spline(T, power, k=3)  # k=3 indicates cubic spline interpolation
power_smooth = spl(xnew)

plt.plot(xnew, power_smooth)

Visualisation des effets de lissage

Le tracé d'origine avec des lignes droites et le tracé lissé peuvent être comparés pour clarté :

[Avant](https://i.sstatic.net/dSLtt.png)
[Après](https://i.sstatic.net/olGAh.png)

Comme le montrent les images, le lissage des lignes supprime les irrégularités, ce qui donne un graphique plus attrayant et informatif.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3