我有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 ?
的值
答案 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]
的值