在子程序里面出的图,将该子程序注释掉之后换成其他子程序,怎样让其出的图在一张图里面
时间: 2024-10-15 11:26:55 浏览: 18
当你在一个子程序中绘制图形,并且想在另一个子程序注释掉原子程序后更换为新子程序仍然显示在同一张图上时,你需要使用MATLAB中的"hold on"和"hold off"命令以及"clear all; close all; figure"来管理当前绘图环境。
首先,在第一个子程序中绘制图形并保留绘图会话:
```matlab
% 假设你在第一个子程序mySub1()中这样做了
figure;
plot(xdata, ydata);
% 或者其他绘图操作,比如
h1 = plot(...);
hold on; % 这样可以让新的绘图覆盖在原有基础上
```
然后,在第二个子程序mySub2()中,你可以直接调用新的绘图,同时关闭旧的子程序产生的所有线:
```matlab
function mySub2()
% 清除当前图的所有内容,但保持当前绘图会话
clear all;
close all;
% 调用新的绘图函数或数据
plot(new_xdata, new_ydata);
% 如果你想替换之前的部分,也可以先删除hold状态再画
% delete(h1);
% 然后画新的
% plot(new_new_xdata, new_new_ydata);
hold off; % 结束hold模式,确保新的图不会覆盖之前的
end
```
现在,无论你在哪个子程序运行`mySub2()`,它的图形都会添加到当前的图表上,因为"hold on"命令使得新图能叠加在前一幅图上,而"hold off"则允许每次更新后独立保存结果。
阅读全文