我目前正在MATLAB R2013a中开发GUI,并尝试使用工具栏中的预设缩放和旋转功能。我几天前遇到了一个大问题,并尝试了许多方法来修复它,但没有运气。基本上,当使用MATLAB预设缩放功能时,放大3D绘图会导致轴超过整个GUI。为简单起见,我附上了一个非常简单的GUI照片,其中发生了此错误:
解决问题的一种尝试是将轴创建为面板的子项:
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的顶部,但没有运气。我已经阅读了许多讨论主题,但没有找到像这样的问题的修复程序。
有没有人知道如何解决此问题?任何帮助都将非常感激。
谢谢!
答案 0 :(得分:0)
令人不快的效果似乎与GUI的实现方式无关。在简单图中缩放3D图形时也会出现同样的情况。 不幸的是,原因在于" zoom" 2D和3D图形工具:
在2D图表上,它会更改limits of the axis
。
在3D图表上,它会更改" view
" (CameraViewAngle
)
MatLab帮助中提供了更多详细信息。
希望这有帮助。
答案 1 :(得分:0)
如果有人遇到此问题,我找不到解决方案。相反,我最终使我的GUI更小,并创建一个单独的图形,其中创建轴并绘制对象。