繁体   English   中英

在每个点在matplotlib中进行注释

[英]Annotating in matplotlib at each point

我正在研究雷达传感器。 每次从传感器获取数据时,都会绘制数据。 我想用它的特征注释每个点,例如xyz我该怎么做?

我知道ax.annotate,但我一次只能做1分。 如果我循环执行此命令,则会降低程序速度。 这是我要完成的工作:

雷达传感器

我得到了自己的问题的答案。

我们需要在循环中使用.set_text()命令来更新文本(点的特征)。 这是抽象代码:

fig1=plt.figure(figsize=(15,32))
ax1=fig1.add_subplot(111, aspect='equal')
ax1.grid(True)
Ln, = ax1.plot(plot_x,plot_y,'ro') #plot_X,plot_y are lists of points
plt.ion()                          # to make figure interactive
plt.show()
......
......
......
 Ln.set_data(plot_x,plot_y)              #to updates points in the lists
 for i in range(len(plot_ann)):    #each time plot_ann number will change
     if i >= len(ann_objs):        #ann_objs is annotation object list
        ann_objs.append(ax1.annotate("", xy=(0,0)))
        ann_objs[i].set_text(plot_ann[i])
        ann_objs[i].xy = (plot_x[i], plot_y[i])
        ann_objs[i].xyann = (plot_x[i]+0.2, plot_y[i]+0.2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM