如何在matplotlib图中标记特定的数据点

2024-05-19 15:20:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个图,我想在图上标记一些x的值,如下图所示(p.s.我用手把点放在图上) see the plot

我尝试了下面的代码,但它并没有像我所期望的那样工作。

roots = [-1,1,2]
plt.plot(vals,poly,markevery=roots,label='some graph')

我想我在上面贴的图片有点问题;作为总结,我想在函数行上加一个点,它表示点是根。


Tags: the代码标记plot图片pltsomelabel
1条回答
网友
1楼 · 发布于 2024-05-19 15:20:41

假设vals[-60,60]范围内的整数,则需要在该列表中找到[-1,1,2]的位置,并将这些位置用作markevery的参数。

import matplotlib.pyplot as plt

vals,poly = range(-60,60), range(-60,60)

plt.plot(vals, poly, label='some graph')
roots = [-1,1,2]

mark = [vals.index(i) for i in roots]
print(mark)
plt.plot(vals,poly,markevery=mark, ls="", marker="o", label="points")

plt.show()

或者,也可以只绘制这些值

import matplotlib.pyplot as plt

vals,poly = range(-60,60), range(-60,60)

plt.plot(vals, poly, label='some graph')
roots = [-1,1,2]

mark = [vals.index(i) for i in roots]

plt.plot(roots,[poly[i] for i in mark], ls="", marker="o", label="points")

plt.show()

相关问题 更多 >