2012-10-20 74 views
3

我有四個一維列表:X1,Y1,X2,Y2。Python中的數據插值

  • X1和Y1每個都有203個數據點。
  • X2和Y2每個都有1532個數據點。
  • X1和X2處於不同的時間間隔,但都是測量時間。

我想繪製Y1和Y2的圖。

一旦我得到插值數據,我可以繪製得很好,但不能想到如何插值數據。我幾個小時想到並研究了這些,只是想不出來。我不介意線性插值,但只是無法找出一種方法。

回答

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+')。根據需要更改格式,但它可以適應不同的長度。你可以提供兩個以上沒有任何問題。