Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
取x点的numpy数组,并将其重塑为y点数组_Numpy_Padding - Fatal编程技术网

取x点的numpy数组,并将其重塑为y点数组

取x点的numpy数组,并将其重塑为y点数组,numpy,padding,Numpy,Padding,我有一个特定数量点的numpy数组。我希望使用这个数组并使用填充和插值来更改点数,但是当在类似MatPlotLib的东西上绘制时,数组看起来是一样的 我曾尝试过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个点,但绘制时看起来仍然相同 然后尝试不同的样条曲线类型。如果您的数据不是非常平滑,高阶样条曲线可能会产

我有一个特定数量点的numpy数组。我希望使用这个数组并使用填充和插值来更改点数,但是当在类似MatPlotLib的东西上绘制时,数组看起来是一样的

我曾尝试过
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个点,但绘制时看起来仍然相同
然后尝试不同的样条曲线
类型
。如果您的数据不是非常平滑,高阶样条曲线可能会产生不希望的摆动,因为它们试图用平滑曲线连接数据(匹配一阶或甚至二阶导数)。

如果您只有一个线性函数,请将线性函数拟合到它,并根据所需的值对其进行评估:

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()

输出中只有9个点……是否只需要点之间的线性解释?