Maison >développement back-end >Tutoriel Python >Comment créer des lignes plus lisses dans vos graphiques PyPlot à l'aide de scipy.interpolate.spline ?

Comment créer des lignes plus lisses dans vos graphiques PyPlot à l'aide de scipy.interpolate.spline ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-02 10:45:03692parcourir

How to Create Smoother Lines in Your PyPlot Graphs Using scipy.interpolate.spline?

Lisser les lignes avec PyPlot

Votre objectif est de lisser la ligne reliant les points de données de votre graphique pour améliorer son attrait visuel. Bien que certains didacticiels puissent sembler intimidants, il existe une approche simple utilisant scipy.interpolate.spline.

<code class="python">import matplotlib.pyplot as plt
import numpy as np
from scipy.interpolate import spline

# Example data
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])

# Set the number of points for smoothing
num_points = 300

# Create a new x-axis with more points
xnew = np.linspace(T.min(), T.max(), num_points)

# Interpolate data using a spline
power_smooth = spline(T, power, xnew)

# Plot the smoothed line
plt.plot(xnew, power_smooth)
plt.show()</code>

Dans ce script, spline interpole les points de données d'origine et génère une courbe plus lisse. Ajustez num_points pour contrôler le niveau de lissage.

Avant le lissage :
[Image d'un graphique linéaire non lissé]

Après le lissage :
[Image d'un graphique linéaire lissé]

Avec cette technique, vous pouvez facilement améliorer l'attrait visuel de vos tracés dans PyPlot.

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