Python 是否有一种方法可以使用matplotlib使用循环值插值序列?

Python 是否有一种方法可以使用matplotlib使用循环值插值序列?,python,matplotlib,scipy,Python,Matplotlib,Scipy,我正在尝试使用matplotlib插值x/y系列。我面临的问题是样条线和interp1d失败,因为我在x和y数组中都有重复值 我曾尝试使用scipy中的样条线函数和interp1d函数,但由于重复出现的值问题,这两个函数都失败了 x1=[0.820.820.820.820.820.820.830.830.830.830.830.830.830.83] y1=[0.930.930.930.940.940.940.940.940.940.940.940.940.940.940.94] f=inter

我正在尝试使用matplotlib插值x/y系列。我面临的问题是样条线和interp1d失败,因为我在x和y数组中都有重复值

我曾尝试使用scipy中的样条线函数和interp1d函数,但由于重复出现的值问题,这两个函数都失败了

x1=[0.820.820.820.820.820.820.830.830.830.830.830.830.830.83] y1=[0.930.930.930.940.940.940.940.940.940.940.940.940.940.940.94] f=interp1dx1,y1,kind='cubic'这给出了一个错误:x应该是一维排序数组。 我试过的另一件事 xnew=np.linspacex1.min,x1.max,300 splined=splinex1,y1,xnew这给出了一个错误:矩阵是奇异的
我希望插值的y值随着x的增加而逐渐增加。例如,x=0.82对应的y值为0.931、0.932等等。我的最终目标是得到一条平滑的曲线。

使用多项式怎么样

np.poly1d(np.polyfit(x1, y1, 2))(new_x) # 2 for second degree

您希望插值结果是什么?例如,对于x=0.82,您应该得到什么值?您对上述两个系列的预期输出是什么?我期望插值的y值随着x的增加而逐渐增加。例如,x=0.82对应的y值应该是0.931、0.932等等。我最终的目标是得到一条平滑的曲线。@user106643。根据你的数据,你的解释毫无意义。请提供一个适合的具体例子,而不是插值。