我尝试以编程方式制作一个 MATLAB GUI,并遇到我的滑块在使用后消失的问题。我隔离了问题以保持代码简短。在这个 GUI 中,我想在plotmatrix
每次使用滑块时刷新(忽略滑块的值与我的程序完全无关的事实,如前所述,我真的想保持代码干净,这就是为什么我也删除了这个功能) . 这是代码(您必须将其作为函数运行):
function StackOverflowQuestion_GUI()
% clear memory
close all; clc;
% initialize figure
f = figure;
% create main axes
AX_main = axes('Parent',f,...
'Units','normalized','Position',[.1 .2 .8 .7]);
% create slider
uicontrol('Parent',f,...
'Style','slider','Callback',{@sliderCallback,AX_main},...
'Units','normalized','Position',[0.05 0.05 0.9 0.05]);
plotmatrix(AX_main,randn(500,3));
title('Random Plotmatrix');
end
function sliderCallback(~,~,AX_main) % callback for slider
plotmatrix(AX_main,randn(500,3));
title('Random Plotmatrix NEW');
end
任何帮助表示赞赏!我想我误解了 AXES 的概念。当我绘制到我创建的 AXES 句柄时,为什么图形的其他部分也会受到影响?如果有人可以向我解释这个图形处理系统基本上是如何工作的,那也太好了!