正常来说,网上有很多的方法,这些方法一般都可以直接用,但是有个前提,x轴你传入的坐标点是不能够重复的。
import scipy.interpolate.make_interp_spline
x_smooth = np.linspace(0, 1, 300)#0,1就是x轴的区间,有时候传变量的时候,也可以在0的位置取min(),在1的位置取max()
y_smooth = make_interp_spline(x, y)(x_smooth) #x就是你x轴左边的narray,y就是你的y轴的narray
正常这上边的代码是可以实现曲线平滑的。但是如果你的代码报错了,报了下面的错误:
{ValueError}Expect x to be a 1-D sorted array_like.
这说明你的x轴的narray中有重复的值,所以才会报错。