这两天写了一个matlab gui程序,程序中主要用到了两个axes,目的是通过在axes1中用鼠标选取一个点,而在axes2上显示该点对应的图像。本来想着应该是个很简单的程序,但是在编程的过程中,我却遇到了一个很严重的问题:在axes1上画点后,再利用function axes1_ButtonDownFcn(hObject,eventdata, handles)获取鼠标点中的位置时,ButtonDownFcn()函数却没反映,程序无法执行!就是这个问题,使得本来很简单的一个程序变得很费劲。上网搜了很多资料,发现大家也遇到了这样的问题,但是更多情况下,遇到这种问题的人基本是想获得axes上显示的image或者plot的句柄,进而能够正常使用ButtonDownFcn()函数,而没有说明如何解决获取axes的句柄的问题。下面是我在利用网上的资料后解决这个问题的方法,仅供大家参考。
首先,要感谢这个帖子点击打开链接上给出的一个链接点击打开链接,这是个英文链接,链接中 给出了axes句柄消失的深层原因,对于也加深理解的人