Function Matlab中两个句柄的连接

Function Matlab中两个句柄的连接,function,matlab,user-interface,handles,Function,Matlab,User Interface,Handles,我想连接我的两个axes.handles,这样当鼠标按钮点击其中一个时,另一个也会像第一个一样。我有一个外部函数,当点击鼠标时,它执行我想要做的事情。我只需要更新GUI中的两个句柄,这样当单击一个轴时,它将执行相同的操作 在主GUI中 function testminiproj_OpeningFcn(hObject, ~, handles, varargin) handles.output = hObject; handles.done=0; guidata(hObject, handles);

我想连接我的两个axes.handles,这样当鼠标按钮点击其中一个时,另一个也会像第一个一样。我有一个外部函数,当点击鼠标时,它执行我想要做的事情。我只需要更新GUI中的两个句柄,这样当单击一个轴时,它将执行相同的操作

在主GUI中

function testminiproj_OpeningFcn(hObject, ~, handles, varargin)
handles.output = hObject;
handles.done=0;
guidata(hObject, handles);

setappdata(0,'figureHandle',gcf);

setappdata(gcf,'axesHandle1',handles.axes6);

setappdata(gcf,'axesHandle2',handles.axes7);
这是我的外部函数,通过调用mousemotion回调到主GUI中

function varargout = mousemotion(this,varargin)

%// get the figure handle from the application main data
figureHandle = getappdata(0,'figureHandle');

%// get the axes handle from the figure data
axesHandle1 = getappdata(figureHandle,'axesHandle1');

%// get the axes handle from the figure data
axesHandle2 = getappdata(figureHandle,'axesHandle2');

global rdata;
if nargin<1
  set(gcf,'WindowButtonDownFcn','mousemotion(''down'')');
  set(gcf,'WindowButtonUpFcn','mousemotion(''up'')');
  set(gcf,'WindowButtonMotionFcn','');
函数varargout=mousemotion(this,varargin)
%//从应用程序主数据获取图形句柄
figureHandle=getappdata(0,'figureHandle');
%//从地物数据获取轴句柄
axesHandle1=getappdata(图handle,'axesHandle1');
%//从地物数据获取轴句柄
axesHandle2=getappdata(图handle,'axesHandle2');
全球rdata;

如果nargin你可以做一个句柄向量。像这样:

axesHandles = [axesHandles1; axesHandles2];
set(axesHandles, 'PropertyName', PropertyValue);

这样,两个轴的属性值都将设置为
PropertyValue

,您需要解决这些问题并手动查找单击的轴

其实并不难。
只需使用图形和轴的
Position
属性。

您想要写入set(axesHandles,…)而不是set(axesHandle1,…)和set(axesHandle2,…)。我说得对吗?是的。我想把这两个轴手柄连接起来,这样当我在一个轴上执行一个动作时,另一个也会这样做。我在尝试时遇到此错误:
使用hg.axes/set时出错名称“WindowButtonDownFcn”不是类“axes”实例的可访问属性。
@user1953847这是因为“WindowButtonDownFcn”是,不是一个。如果它是一个数字属性,那么我该如何处理它。因为我想用轴柄替换gcf。你们的轴在同一个图形中吗?如果是这样,
set(图handle,'WindowButtonDownFcn',@yourffunction)应该有效。是的。但我的图形中有6个轴。感谢您的帮助,但它仍然无法工作,我不知道为什么。它在handles.axes6中单击。实际上,单击哪个轴并不重要。单击其中一个轴时,另一个轴将执行相同的操作,同时与单击的轴相对应。我该如何使用它?