如何在matplotlib中获得曲线的所有点

问题描述 投票:0回答:1

我想找到两条曲线的交点。例如下面的示例。enter image description here可以有多个交点。现在,我正在通过找到x,y坐标之间的距离来找到交点。但是,这种方法有时无法在交点位于(17-18 x轴)之间时给出准确的点,如图所示。

我需要从曲线中获取所有点才能解决此问题。是否有任何方法可以获取所有这些信息?

python matplotlib curve
1个回答
0
投票

曲线只是连接每个点的一系列直线。因此,如果要增加点数,可以简单地在每对点之间进行线性外推:

x1,x2 = 17,20
y1,y2 = 1,5

N = 20
x_vals = np.linspace(x1,x2,N)
y_vals = y1+(x_vals-x1)*((y2-y1)/(x2-x1))

fig, ax = plt.subplots()
ax.plot([x1,x2],[y1,y2],'k-')
ax.plot(x_vals,y_vals, 'ro')

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.