python用插值法绘制平滑曲线

再看那柔弱的柳树吧,在寒冬余威尚盛时节,就早早苏醒过来,望着冰冻的河面,迎着凛冽的寒风,它微微察觉出一丝春意,于是,不顾一切地率先吐翠,淡淡地披起娇黄嫩绿的新装。沿河望去,枝梢间烟纱雾彀,一片生机,这情景仿佛一首动人的歌,一首热烈向往春天的歌,一首报告春的信息的歌,一首表达美好信念的歌。我在想:既然迎春花被人称作报春花,那么,柳树可不可以叫作报春树呢春来了,万千柳枝在春风中袅袅舞动。柳树是热爱春天的,春天也是热爱柳树的。

本文实例为大家分享了python用插值法绘制平滑曲线的具体代码,供大家参考,具体内容如下

原图:

平滑处理后:

代码实现如下:

# 1. 随机构造数据
import numpy as np
x = range(10)
y = np.random.randint(10,size=10)

# 2. 绘制原图
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline # jupyter notebook显示绘图
from scipy.interpolate import spline # 借助scipy库
plt.plot(x, y)
plt.show()

# 3. 绘制平滑曲线
from scipy.interpolate import spline
 # 插值法,50表示插值个数,个数>=实际数据个数,一般来说差值个数越多,曲线越平滑
x_new = np.linspace(min(x),max(x),50) 

y_smooth = spline(x, y, x_new)

plt.plot(x_new, y_smooth)

plt.show()

以上经过平滑后的曲线可能和原图差距很大,这个主要看数据本身的规律性。如果数据本身比较杂乱无章,如下:

则平滑后为:

平滑后曲线和原图还是差得很远的,因此该方法慎用,不是万能的。

以上就是python用插值法绘制平滑曲线。世上没有绝望的处境,只有对处境绝望的人。懂得借力而行,知道运力而动,在跳高之前,先让心跳过,就必然走向成功!更多关于python用插值法绘制平滑曲线请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
python实现各种插值法(数值分析)

python中的插值 scipy-interp的实现代码

Python对数据进行插值和下采样的方法

Python实现的拉格朗日插值法示例

python利用插值法对折线进行平滑曲线处理