您可以使用grantnz'ButtonDownFcn'
提到的(图形或轴的)属性。当有非实时任务时更方便。ginput
plot
首先,请注意,诸如、imshow
等高级函数image
将重置大多数轴属性,例如'HitTest'
和'ButtonDownFcn'
。因此,每次使用此类函数后,您都应该更新所需的轴句柄属性。通常,您应该避免在高频循环中使用此类高级函数以获得更好的性能。
除了grantnz隐含'ButtonDownFcn'
的轴设置之外,您还可以使用figure 的。请注意,在第二种情况下,您应该关闭轴的可选择性(将轴设置为)。'ButtonDownFcn'
'HitTest'
Off
这是一个虚拟动画,您可以在其中单击动画轴并查看'CurrentPoint'
轴的。
% Stop button
uicontrol(...
'Style','pushbutton', 'String', 'Stop',...
'Units','Normalized', 'Position', [0.4 0.1 0.2 0.1],...
'Callback', 'run = 0;');
% Axes
ax = axes(...
'Units','Normalized',...
'OuterPosition', [0 0.2 1 0.8]);
run = 1;
t = 0;
while run
t = t + 0.01; x = t:0.01:t+2;
h = plot(ax, x, sin(x));
set(ax, 'ButtonDownFcn', 'get(ax, ''CurrentPoint'')');
xlim([x(1) x(end)]); ylim([-1 1]);
pause(0.01);
end
请注意,'ButtonDownFcn'
每次更新后plot
。
也可以获取'CurrentPoint'
图形的 ,如果是这样,您应该Normalized
为图形设置单位以获取 的归一化位置'CurrentPoint'
。