我试图做一些简单的工作,比如读取matplotlib中对应于y轴的x轴的值,我看不出有什么问题。
例如,在本例中,如果选择x=2.0,我有兴趣找到y轴的哪个值,但是我得到的是空的idx
元组,即使xvalues
数组中有数字2。
这是代码:
pyplot.plot(x,y,linestyle='--',linewidth=3)
ax = pyplot.gca()
line = ax.lines[0]
xvalues = line.get_xdata()
yvalues = line.get_ydata()
idx = where(xvalues == 2.0)
y = yvalues[idx[0][0]]
这是xvalues
数组:
[1.40000000e+00 1.45000000e+00 1.50000000e+00 1.55000000e+00
1.60000000e+00 1.65000000e+00 1.70000000e+00 1.75000000e+00
1.80000000e+00 1.85000000e+00 1.90000000e+00 1.95000000e+00
2.00000000e+00 2.05000000e+00 2.10000000e+00 2.15000000e+00
2.20000000e+00 2.25000000e+00 2.30000000e+00 2.35000000e+00]
得到空数组的原因是严格值
2.0
实际上不存在于数组中。例如:
这是一个典型的浮点数学限制。如果你愿意,你可以:
但是,一般来说,您希望在给定的x处插入y值
例如,假设您想要
2.01
处的值。x数组中不存在该值。相反,使用
np.interp
进行线性插值:相关问题 更多 >
编程相关推荐