Matlab 禁止显示figure figure保存到文件 命令

set(gcf,'visible',‘off');

 

 

print(gcf,'-dpng',[root_name,'Average_utilities_',common_name,'.png']);%save the figure
saveas(gca,[output_root_name,'Rate_Acc_Statistic_',num2str(epsth_kept),'.png'],'png');

MATLAB 中,`waitbar` 是用于显示进度条的一个函数,可以让用户了解某个长时间运行的任务的进展情况。如果希望 `waitbar` 显示期间禁止对其他图形窗口(如 figure 窗口)进行操作,并且只有当 `waitbar` 关闭后才允许再次操作 figure,则可以利用模态对话框的概念。 下面是如何实现这一点的具体步骤: ### 使用 Modal 模式 MATLAB 的 waitbar 默认并是 modal(模式化),所以它会阻止与其他 figures 进行交互。为了创建一个真正的“阻塞”效果,在打开一个新的 figure 或者更新现有 figure 后立即启动 `waitbar`, 可以通过将所有的交互控制权交给 waitbar 来间接达到目的。一种做法是在任务完成前保持住当前命令流直到等待栏关闭为止;另一种更推荐的方式是使用 Java Swing 组件来构建自定义 modal dialog 包含 progress bar 功能。 但是最简单的方法还是直接使用MATLAB内置功能结合一些技巧: ```matlab % 创建新的figure并绘制内容 fig = figure('Name','可点击'); plot(rand(10)); % 开启modal行为,防止用户和其他figures互动 set(fig,'WindowStyle','Modal'); hWaitBar = waitbar(0,'请稍候...'); for i=1:5 %模拟耗时的操作循环 pause(1); %暂停一秒表示处理过程中的延迟 waitbar(i/5,hWaitBar,sprintf('%d%% 完成',i*20)); end close(hWaitBar); % 结束后恢复正常状态 delete(fig); ``` 此段代码示例首先建立了一个 Figure 并设置了其 Window Style 属性为 "Modal" ,这意味着除了这个特定 window 外其它所有 windows 都会被锁定无法响应事件。然后我们开始创建 Waitbar , 在长周期计算过程中断刷新它的位置和文本信息。最后一步记得释放资源并且恢复正常的 GUI 行为 - 即删除Figure 和关闭 Waitbar 。 需要注意的是,这里仅作为演示用途而故意加入了 sleep (pause) 函数用以模拟实际运算所需时间,在真实的应用场景里你应该替换这部分逻辑为你真正需要执行的工作流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值