Python中的数据插值

3

我有四个一维列表:X1,Y1,X2和Y2。

  • X1和Y1分别有203个数据点。
  • X2和Y2分别有1532个数据点。
  • X1和X2在不同的时间间隔内测量,但都是测量时间。

我想绘制Y1与Y2的图表。

一旦我得到插值数据,我就可以轻松地绘制图形,但我不知道如何进行插值处理。我已经思考和研究了几个小时,但就是想不出方法。我不介意进行线性插值,但就是找不到方法。

2个回答

2
我认为这就是您想要的:
(注:原文无需翻译)
import numpy as np
import matplotlib.pyplot as plt

# first data set
X1 = np.linspace(0,1,203)
Y1 = np.sin(X1)

# second data set
X2 = np.linspace(0, 0.5, 1532)
Y2 = np.cos(X2)

# get interpolated values of Y1 evaluated at X2
Y1_interp = np.interp(X2, X1, Y1)

# plot interpolated Y1 vs Y2
plt.plot(Y1_interp, Y2)
plt.show()

0
如果您使用matplotlib,只需调用plot(X1,Y1,'bo',X2,Y2,'r+')即可。按您的要求更改格式,但它可以很好地处理不同长度。您可以提供两个以上而没有任何问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接