我有一个情节,我想在图表上标记一些x轴的值,就像以下图片中所示,(注:这些点是我手动添加的)
我尝试了以下代码,但它并没有像我期望的那样工作。
roots = [-1,1,2]
plt.plot(vals,poly,markevery=roots,label='some graph')
作为总结,我想强调函数线上的一个点是根节点。
我有一个情节,我想在图表上标记一些x轴的值,就像以下图片中所示,(注:这些点是我手动添加的)
我尝试了以下代码,但它并没有像我期望的那样工作。
roots = [-1,1,2]
plt.plot(vals,poly,markevery=roots,label='some graph')
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()
-1,1,2
实际上在vals
中,否则无法使用markevery
获得所需的绘图。因此,在此处提问时,请首先像往常一样创建一个[mcve]。接下来,值是否在vals
中?vals
和poly
是Python列表、集合还是NumPy数组?最后,您是否知道这些值在vals
中的位置? - ImportanceOfBeingErnest