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