如何防止MATLAB GUIDE中的Axis或Plot超越整个GUI?

时间:2015-06-05 16:04:08

标签: matlab user-interface plot axis

我目前正在MATLAB R2013a中开发GUI,并尝试使用工具栏中的预设缩放和旋转功能。我几天前遇到了一个大问题,并尝试了许多方法来修复它,但没有运气。基本上,当使用MATLAB预设缩放功能时,放大3D绘图会导致轴超过整个GUI。为简单起见,我附上了一个非常简单的GUI照片,其中发生了此错误:

enter image description here

解决问题的一种尝试是将轴创建为面板的子项:

function uipanel1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to uipanel1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns   called
handles.axes1 = axes('parent',hObject);
guidata(hObject,handles);

但问题仍然存在。我还尝试在轴上制作小面板,这些面板堆叠在UI的顶部,但没有运气。我已经阅读了许多讨论主题,但没有找到像这样的问题的修复程序。

有没有人知道如何解决此问题?任何帮助都将非常感激。

谢谢!

2 个答案:

答案 0 :(得分:0)

令人不快的效果似乎与GUI的实现方式无关。在简单图中缩放3D图形时也会出现同样的情况。 不幸的是,原因在于" zoom" 2D和3D图形工具:

在2D图表上,它会更改limits of the axis

在3D图表上,它会更改" view" (CameraViewAngle

MatLab帮助中提供了更多详细信息。

希望这有帮助。

答案 1 :(得分:0)

如果有人遇到此问题,我找不到解决方案。相反,我最终使我的GUI更小,并创建一个单独的图形,其中创建轴并绘制对象。