问题描述
在普通绘图中,十字准线工作得很好 see screenshot here
但是当我的情节被嵌入到 GUI 中,又名不是一个单独的窗口时,它不会显示它。我收到的代码警告之一是未访问“光标”Pylance
cursor = Cursor(plot,useblit=True,horizOn=True,vertOn=True,color="green",linewidth=2.0)
我的情节部分代码:
figure = figure(figsize=(5,4),dpi=100)
plot = figure.add_subplot(1,1,1)
figure.suptitle(Date,fontsize=12)
plot.plot(x,y,color=Color)
canvas = figureCanvasTkAgg(figure,root)
canvas.get_tk_widget().place(x=4,y=200)
toolbar = NavigationToolbar2Tk(canvas,root,pack_toolbar=False)
toolbar.update()
toolbar.place(x=4,y=600)
cursor = Cursor(plot,linewidth=2.0)
解决方法
如果不查看所有内容就很难说,但我的猜测是 Cursor
类未导入,或者您分配了 cursor 变量而从未使用它。>
因为 Cursor
继承自 AxesWidget
并且根据 document of AxesWidget:
为了保证小部件保持响应性而不是垃圾收集,用户应该维护对对象的引用。
所以如果你的代码在一个函数内,那么你需要保留一个游标的引用。试试:
plot.cursor = Cursor(plot,useblit=True,horizOn=True,vertOn=True,color="green",linewidth=2.0)
它使用 plot
的属性来保存光标的引用。