在给定x值的情况下获得曲线的y值

时间:2014-07-31 11:38:28

标签: python matplotlib

给定一个Line2D对象,这是pyplot的{​​{1}}函数的输出,我希望确定给定plot的{​​{1}}坐标。例如,如果

y

然后

x

我尝试使用import numpy as np import matplotlib.pyplot as plt x = np.array([1.0, 4.0, 9.0, 16.0]) y = np.array([1.0, 2.0, 3.0, 4.0]) line = plt.plot(x, y)[0] ,然后进行插值,但事情并没有像我预期的那样有效。我认为必须有一种标准的方法......

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您想知道y行上p点的高度ab

假设线条是无限的,我们可以这样做。

计算线斜率:

height = lineEndY - lineStartY #calculate the line "height"
lenghtX = abs(lineStartX - lineEndX) #calculate the length of line along the X axis
slope = height / lengthX;              #calculate the "slope" by deviding length of x by height
result = x * slope;                 #calculate the x approx height on the line

答案 1 :(得分:0)

也许numpy.interp(x, xp, fp, left=None, right=None)可以帮到你 http://docs.scipy.org/doc/numpy/reference/generated/numpy.interp.html