基于第二个GUI中的活动,在一个GUI中更新Matlab绘图
在一个GUI查看器中,我有一个通过3D图像立方体显示2D切片的图像。工具栏按钮打开第二个GUI z-profile,该GUI z-profile绘制二维图形,显示图像立方体中一个像素的z-profile。我想要的是能够在原始查看器GUI中单击不同像素时动态更新此绘图。我已经查看了linkdata,但我不确定它是否可以用于跨两个GUI进行链接。有没有一种简单的方法可以做到这一点,而无需在每次单击新像素并输入新的输入位置时重新创建第二个GUI?您肯定可以做到这一点,而无需每次重新创建第二个GUI 在不知道具体代码的情况下,我会说您应该在第一个GUI中存储对第二个GUI的引用,然后在用于单击第一个GUI中像素的回调中,通过存储的引用(例如图句柄)更改第二个GUI中的数据。可以在图形中存储任意数据,例如使用函数。一点代码基于第二个GUI中的活动,在一个GUI中更新Matlab绘图,matlab,user-interface,Matlab,User Interface,在一个GUI查看器中,我有一个通过3D图像立方体显示2D切片的图像。工具栏按钮打开第二个GUI z-profile,该GUI z-profile绘制二维图形,显示图像立方体中一个像素的z-profile。我想要的是能够在原始查看器GUI中单击不同像素时动态更新此绘图。我已经查看了linkdata,但我不确定它是否可以用于跨两个GUI进行链接。有没有一种简单的方法可以做到这一点,而无需在每次单击新像素并输入新的输入位置时重新创建第二个GUI?您肯定可以做到这一点,而无需每次重新创建第二个GUI 在
...
figure2 = figure();
figure1 = figure('WindowButtonDownFcn',@myCallback);
guidata(figure1, figure2);
...
function myCallback(obj,eventdata)
figure2 = guidata(obj);
...
更简单但更容易出错的方法是使用全局变量来存储引用。使用Matlab的linkdata也可以,但我在这方面没有经验。似乎您可以连接数据和图形更新,因此,如果您定义了类似z-profile的变量,然后链接到GUI 2,然后单击GUI 1更改该变量的内容,则可以工作。