选择绘图对象时,未执行轴按钮向下Fcn



我正在创建一个实时MATLAB演示,我需要通过单击axes来选择一个兴趣点。一般来说,系统运行良好,我可以使用ButtonDownFcn修改变量。但是出现以下问题

当我在同一轴上绘制其他数据(如散点图)时,如果我单击散点图而不是没有绘制的axes,则似乎不会触发ButtonDownFcn。没有错误。

这是一个问题,因为我的散点图可能非常密集,我想点击的点位于绘图对象的下面。

我如何使所有鼠标点击都由axes注册,以便每次点击都执行我的ButtonDownFcn

您希望利用HitTest属性禁用所有其他图形对象响应鼠标单击的功能。

如果你只想在axes上启用点击,那么这样的东西应该可以工作。

% Disable callbacks for all objects within the current axes
set(findall(gca), 'HitTest', 'off')
% Enable click events for the axes and set the buttondownfcn
set(gca, 'HitTest', 'on', 'ButtonDownFcn', callback)

最新更新