当我在GUI中创建轴时,句柄消失

时间:2014-07-18 11:06:06

标签: matlab user-interface handles multiple-axes

我正在使用两个轴和两个按钮在GUI(使用Matlab中的指南创建)上工作。当用户按下按钮1时,我想在axes1上显示图像,当用户按下按钮2时,我想在axis2上显示图像。

这是我的代码:

function pushbutton1_Callback(hObject, eventdata, handles)
axes(handles.axes1);    
imagesc(table(:,:,1));colormap(gray),axis('square');
guidata(hObject,handles);

function pushbutton2_Callback(hObject, eventdata, handles)
axes(handles.axes2);     
imagesc(table(:,:,1));colormap(gray),axis('square');
guidata(hObject,handles);

此代码仅在用户第一次按下按钮时才能正常工作。当他再次执行此操作时,程序崩溃并出现以下错误:“引用不存在的字段'axes1'”。

当我显示所有句柄时,我发现确实缺少句柄“axes1”。

当我将轴的NextPlot属性更改为“new”时,我没有收到此错误。但是,在这种情况下,我根本无法显示图像。我的意思是我没有得到错误,但是我的一个图像(右上角)是灰色的,其余的是白色的。两个维度中的绘图范围是(0,1),而不是(0,2000)。在我看来,这只是我图像的一个像素。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我有类似的问题。我使用了一个计时器对象,并在一个有效的句柄对象中传递了不同的轴。我的应用程序是实时从多个摄像头获取数据。