Python 在直线上绘制一个特定点,matplotlib

Python 在直线上绘制一个特定点,matplotlib,python,matplotlib,Python,Matplotlib,我有两个列表,我将其绘制为一条直线: x = [ 0.1, 0.3, 0.5, 0.7, 0.9] y = [ 4.0, 3.0, 2.0, 3.0, 4.0] plt.plot(x,y) 然后我想在那条线上的一个点上画一个标记,例如“x”,这个点在我的列表中没有指定,例如 x = 0.2 有没有一种简单的方法可以做到这一点?你的“直线”方程是y=5*abs(x-0.5)+2。因此,可以使用以下方法绘制点: plt.plot(0.2, 3.5, 'x') 其中3.5=5.0*abs(0.

我有两个列表,我将其绘制为一条直线:

x =  [ 0.1, 0.3, 0.5, 0.7, 0.9]
y = [ 4.0, 3.0, 2.0, 3.0, 4.0]
plt.plot(x,y)
然后我想在那条线上的一个点上画一个标记,例如“x”,这个点在我的列表中没有指定,例如

x = 0.2
有没有一种简单的方法可以做到这一点?

你的“直线”方程是
y=5*abs(x-0.5)+2
。因此,可以使用以下方法绘制点:

plt.plot(0.2, 3.5, 'x')
其中
3.5=5.0*abs(0.2-0.5)+2.0


或者,您可以使用@PaulH的解决方案并使用。如果您的数据不是真正的绝对值函数,而是局部函数,那么这可能是一个更好的通用解决方案。

使用numpy中的插值函数来获取y值,然后再次调用
绘图
,效果非常好,谢谢!我的函数在每个循环中都会发生变化,我只需要绘制一个点,这样numpy解决方案就可以做到这一点。我想如果有一个python函数,它可以接受你的xy值,然后得出一个方程来解它,那么它也可以工作。谢谢你的建议@非常重要。习惯的力量。固定的。