"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como criar linhas suaves no PyPlot?

Como criar linhas suaves no PyPlot?

Publicado em 2024-11-21
Navegar:833

How to Create Smooth Lines in PyPlot?

Plotando linhas suaves com PyPlot

PyPlot oferece vários métodos para personalizar visualizações de dados. Uma tarefa comum é suavizar linhas entre pontos plotados para criar uma aparência mais contínua. Embora a criação de linhas suaves no Gnuplot seja simples usando a opção "smooth cplines", o PyPlot requer uma abordagem ligeiramente diferente.

Suavização de linhas com scipy.interpolate

Uma solução é para empregar o módulo scipy.interpolate. Este módulo fornece uma ferramenta poderosa chamada spline, que pode gerar curvas interpoladas ajustando uma função spline através de um conjunto de pontos de dados. Aqui está um exemplo:

from scipy.interpolate import spline

# 300 represents the number of points to generate between T.min and T.max
xnew = np.linspace(T.min(), T.max(), 300)  

power_smooth = spline(T, power, xnew)

plt.plot(xnew,power_smooth)
plt.show()

Este código criará uma curva suave ajustando um spline através dos pontos de dados originais.

Descontinuação do spline

Nota que no scipy versão 0.19.0 e posterior, a função spline foi descontinuada. Para manter a compatibilidade, você pode usar a classe BSpline conforme mostrado abaixo:

from scipy.interpolate import make_interp_spline, BSpline

# 300 represents the number of points to generate between T.min and T.max
xnew = np.linspace(T.min(), T.max(), 300) 

spl = make_interp_spline(T, power, k=3)  # type: BSpline
power_smooth = spl(xnew)

plt.plot(xnew, power_smooth)
plt.show()
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3