如何在python中获取绘制的函数值

时间:2017-04-26 10:27:35

标签: python numpy matplotlib scipy

我有2个离散坐标,X和Y.我调用plt.plot(X,Y)并得到好的情节。不是我想从该图(函数图形)获取X的值(X是不包含在文件中的)。例如,当X=[1,2,3,4] Y=[0.4,0.5, 0.8, 0.85]

时,我X如何获取Y = 0.43 ?的值

1 个答案:

答案 0 :(得分:2)

numpy:

import numpy as np

X=[1,2,3,4]
Y=[0.4 ,0.5, 0.8, 0.85]

y = .43
x = np.interp(y, Y, X)

没有numpy:

X=[1,2,3,4]
Y=[0.4, 0.5, 0.8, 0.85]

y = .43

for i, yi in enumerate(Y):
    if y < yi:
        break

k = (X[i] - X[i-1])/(Y[i] - Y[i-1])
m = X[i-1]

x = k*(y-Y[i-1])+m

注意,函数y = f(x)必须是可逆的(明确的),并且y必须在Y的范围内才能工作,因为我没有添加任何边界检查。

我做的是,我计算感兴趣区域的斜率,然后使用它来查找偏离Y[i-1]的值