MATLAB GUI界面中的axes显示m文件绘制的图。或者说我已经在m文件绘制好了一个双xy轴的图,但是我把它放到gui界面用按钮调用,axes只显示一个xy轴;所以我想直接把m文件绘制的图在axes中显示,该如何操作。
2条回答 默认 最新
关注 在MATLAB GUI界面中显示已经绘制好的双xy轴的图像,可以按照以下步骤进行操作:
-
在GUI界面中添加一个axes控件,使用Tag值来标识该控件,例如设为axes1。
-
在绘制好双xy轴的图像的m文件中,将图像绘制在axes1中,代码示例:
x = 0:0.1:10; y1 = sin(x); y2 = cos(x); axes(handles.axes1); plot(x,y1); hold on; plot(x,y2); xlabel('x轴'); ylabel('y轴'); legend('sin(x)', 'cos(x)');
- 在GUI界面的按钮回调函数中,使用以下代码将绘制好的图像显示在axes1中:
axes(handles.axes1); % 设置当前绘图区域为axes1 cla; % 清空绘图区域 run('your_m_file.m'); % 运行绘制图像的m文件
其中,your_m_file.m表示绘制双xy轴图像的m文件名。
- 点击按钮即可在GUI界面的axes1中显示已经绘制好的双xy轴图像。
完整的代码示例:
GUI界面回调函数中的代码:
function show_plot_button_Callback(hObject, eventdata, handles) % hObject handle to show_plot_button (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes1); % 设置当前绘图区域为axes1 cla; % 清空绘图区域 run('your_m_file.m'); % 运行绘制图像的m文件
your_m_file.m中的代码:
x = 0:0.1:10; y1 = sin(x); y2 = cos(x); axes(handles.axes1); plot(x,y1); hold on; plot(x,y2); xlabel('x轴'); ylabel('y轴'); legend('sin(x)', 'cos(x)');
其中,show_plot_button为GUI界面中的按钮标签,handles.axes1为GUI界面中的axes控件的Tag值。
解决 无用评论 打赏 举报-
悬赏问题
- ¥15 有人会SIRIUS 5.8.0这个软件吗
- ¥30 comsol仿真等离激元
- ¥15 静电纺丝煅烧后如何得到柔性纤维
- ¥15 (标签-react native|关键词-镜像源)
- ¥100 照片生成3D人脸视频
- ¥15 伪装视频时长问题修改MP4的时长问题,
- ¥15 JETSON NANO
- ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
- ¥20 关于 openpyxl 处理excel文件地问题
- ¥15 MS中不知道高分子的构型怎么构建模型