0

私は、2 つの軸と 2 つのプッシュボタンを備えた GUI (Matlab のガイドで作成) に取り組んでいます。ユーザーが pushbutton1 を押すと、axes1 に画像を表示し、ユーザーが pushbutton2 を押すと、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" に変更すると、このエラーは発生しません。ただし、その場合、画像をまったく表示できません。つまり、エラーは発生しませんが、画像の 4 分の 1 (右上隅) が灰色で、残りは白です。両方の次元のプロット範囲は (0,2000) ではなく (0,1) です。これは私の画像の 1 ピクセルにすぎないように思えます。

私は何を間違っていますか?

4

1 に答える 1