2016-03-15 58 views
2

我有一定數量的點的numpy數組。我希望採用這個數組,並使用填充和插值來更改點的數量,但在繪製MatPlotLib之類的東西時,數組看起來是相同的。取一個x點的numpy數組,並將其重新整形爲一個y點數組

我已經嘗試過功能,例如np.repeat,np.kron,np.lib.pad,但收效甚微。

如)

lista = [1,2,3,4,5]含有5分

我想這是重塑爲10分

listb = [1,1.5,2,2.5,3,3.4,4,4.5,5,5.5]包含10分,但繪製

+0

那些只有9中的輸出點... – MSeifert

+0

你只是想點之間的直線解釋呢? – Alexander

回答

0

如果你只是有一個線性函數擬合的線性函數,並評估它的通緝值:

import numpy as np 
x_axis = np.arange(5) # These are your x-values for plotting with matplotlib 
lista = [1,2,3,4,5] 

所以適合現在的線性多項式:

linear_fit = np.poly1d(np.polyfit(x_axis, lista, 1)) 

並對其進行評估相同的網格,但更多的步驟:

linear_fit(np.linspace(x_axis[0], x_axis[-1], 9)) 
# array([ 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. ]) 

當繪圖確保您使用新的x網格:

import matplotlib.pyplot as plt 
new_x = np.linspace(x_axis[0], x_axis[-1], 9) 
plt.scatter(new_x, linear_fit(new_x), color='b') 
plt.plot(x_axis, lista, color='r') 
plt.show() 

enter image description here

相關問題