3

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

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

我想绘制 Y1 与 Y2 的图表。

一旦我得到插值数据,我就可以很好地绘制,但想不出如何插值数据。我已经思考并研究了几个小时,但无法弄清楚。我不介意线性插值,但就是想不出办法。

4

2 回答 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()
于 2012-10-20T17:55:17.703 回答
0

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

于 2012-10-20T17:37:15.283 回答