来源:https://ww2.mathworks.cn/help/matlab/ref/drawnow.html?searchHighlight=drawnow&s_tid=doc_srchtitle

本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

drawnow

更新图窗并处理回调

全页折叠
 

说明

示例

drawnow 更新图窗并处理任何挂起的回调。如果您修改图形对象并且需要在屏幕上立即查看这次更新,请使用该命令。

示例

drawnow limitrate 将更新数量限制为每秒 20 帧。如果自上次更新后不到 50 毫秒,或图形渲染器忙于处理之前的更改,则 drawnow 会丢弃新的更新。如果您在循环中更新图形对象并且不需要在屏幕上查看每个更新,请使用该命令。跳过更新可以产生更快的动画。挂起的回调得到处理,这样您可以在动画期间与图窗交互。

drawnow nocallbacks 会延迟回调(例如 ButtonDownFcn 回调),直至下个完整的 drawnow 命令执行。如果您想要阻止回调中断您的代码,请使用该选项。暂时延迟回调会禁用图窗交互,例如点击鼠标或调整图窗大小。延迟回调不会影响动画速度。

drawnow limitrate nocallbacks 将更新数量限制为每秒 20 帧,如果渲染器繁忙则跳过更新。此语法还可以阻止回调中断您的代码,这样会暂时禁用图窗交互。

如果渲染器繁忙,drawnow update 会跳过更新并延迟回调。不建议使用该语法。改用 limitrate 选项。

drawnow expose 更新图窗但延迟回调。不建议使用该语法。改用 nocallbacks 选项。

 

示例

全部折叠

创建流数据的动画

创建一个线条不断变长的动画,直到它累积到 2,000 个数据点。使用 drawnow 在每次循环迭代后将更改显示在屏幕上。

h = animatedline;
axis([0 4*pi -1 1])
x = linspace(0,4*pi,2000); for k = 1:length(x)
y = sin(x(k));
addpoints(h,x(k),y);
drawnow
end

 

跳过更新以产生更快的动画

创建一个线条不断变长的动画,直到它累积到 10,000 个点。由于存在 10,000 个点,在屏幕上绘制每个更新比较慢。通过使用 drawnow limitrate 限制更新数量创建更快、更平滑的动画。然后,通过在循环结束后调用 drawnow 在屏幕上显示最终更新。

h = animatedline;
axis([0 4*pi -1 1])
x = linspace(0,4*pi,10000); for k = 1:length(x)
y = sin(x(k));
addpoints(h,x(k),y);
drawnow limitrate
end
drawnow

 

预计算数据,然后创建动画

在动画循环之前计算所有数据。

h = animatedline;
axis([0 4*pi -1 1])
x = linspace(0,4*pi,10000);
y = sin(x); for k = 1:length(x)
addpoints(h,x(k),y(k));
drawnow limitrate
end
drawnow

如果要执行长时间的计算,预计算数据可以提高性能。通过不间断计算,预计算能最大地缩短计算时间。此外,它还通过仅关注动画循环中的图形代码来帮助确保平滑的动画。

 

详细信息

全部折叠

等效于 drawnow 的操作

这些操作等效于调用完整的 drawnow 命令:

提示

  • nocallbacks 选项始终都向队列中添加中断回调。如果您想要丢弃中断回调,则改用 Interruptible 和 BusyAction 属性。

matlab中drawnow更新图窗并处理回调的更多相关文章

  1. matlab中figure创建图窗窗口

    来源:https://ww2.mathworks.cn/help/matlab/ref/figure.html?searchHighlight=figure&s_tid=doc_srchtit ...

  2. matlab中figure 创建图窗窗口

    来源:https://ww2.mathworks.cn/help/matlab/ref/figure.html?searchHighlight=figure&s_tid=doc_srchtit ...

  3. MATLAB中绘制质点轨迹动图并保存成GIF

    工作需要在MATLAB中绘制质点轨迹并保存成GIF以便展示. 绘制质点轨迹动图可用comet和comet3命令,使用例子如下: t = 0:.01:2*pi;x = cos(2*t).*(cos(t) ...

  4. matlab中help所有函数功能的英文翻译

    doc funname 在帮助浏览器中打开帮助文档 help funname 在命令窗口打开帮助文档 helpbrowser 直接打开帮助浏览器 lookfor funname 搜索某个关键字相关函数 ...

  5. matlab中axis的用法

    来源:https://ww2.mathworks.cn/help/matlab/ref/axis.html?searchHighlight=axis&s_tid=doc_srchtitle a ...

  6. matlab中uicontrol创建用户界面控件

    来源:https://ww2.mathworks.cn/help/matlab/ref/uicontrol.html?searchHighlight=uicontrol&s_tid=doc_s ...

  7. matlab中subplot 在平铺位置创建坐标区

    来源:https://ww2.mathworks.cn/help/matlab/ref/subplot.html?searchHighlight=subplot&s_tid=doc_srcht ...

  8. 基于Python实现matplotlib中动态更新图片(交互式绘图)

    最近在研究动态障碍物避障算法,在Python语言进行算法仿真时需要实时显示障碍物和运动物的当前位置和轨迹,利用Anaconda的Python打包集合,在Spyder中使用Python3.5语言和mat ...

  9. matlab中colormap

    来源:https://ww2.mathworks.cn/help/matlab/ref/colormap.html?searchHighlight=colormap&s_tid=doc_src ...

随机推荐

  1. Spring Boot 如何快速集成 Redis 哨兵?

    上一篇:Spring Boot 如何快速集成 Redis? 前面的分享栈长介绍了如何使用 Spring Boot 快速集成 Redis,上一篇是单机版,也有粉丝留言说有没有 Redis Sentine ...

  2. Android Studio或者Eclipse中的最常用的快捷键,最简单的,部分不适用eclipse

    重写方法:ctrl+shift+s  然后选择Generate 构建即可: 执行程序:shift+F10 多行注释:ctrl+shift+/ 单行注释:ctrl+/ 快速打印log:logr 快速复制 ...

  3. Android开发java开发之常用英文词汇汇总。程序员必备英语单词

    ANR  (Application Not Response )  bundle 捆, entire 整个的,完整的 lifetime 生命周期 entire lifetime 完整生命周期 visi ...

  4. Hacker101 CTF 学习记录(一)

    前言 苦力挖洞,靠运气赚点小钱.看着大佬严重,高危,再看看自己手上的低危,无危害默默流下了菜鸡的泪水 思路受局限,之前听学长推荐和同事聊到hacker101,因此通过hacker101拓展下漏洞利用思 ...

  5. Combine 框架,从0到1 —— 4.在 Combine 中使用通知

      本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 4.在 Combine 中使用通知.   内容概览 前言 让通知处理代码使用 Combine 总结 ...

  6. Mybatis----Mapper配置文件

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...

  7. tomcat在linux服务器启动时报错Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000794500000, 576716800, 0) failed; error='Cannot allocate memory' (errno=12)

    原因是内存不足了 解决办法:1.top命令查看后台进程,看哪些可以关闭 2.ps -ef |grep tomcat看哪些不用的tomcat起着,也可以从这里关 3.加大这个tomcat的内存, 在ca ...

  8. [LeetCode]695. 岛屿的最大面积(DFS/BFS)、200. 岛屿数量(DFS/BFS待做/并差集待做)

    695. 岛屿的最大面积 题目 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合.你可以假设二维矩阵的四个边缘都被 ...

  9. sql.表值类型

    表值类型是在sql server 2008中新加入的功能,我个人觉得确实很有用,之前从没用过,自从来到现在的公司后学到很多东西,所以和大家分享一下. ------建表值类型语法------------ ...

  10. node 进阶 | 通过node中如何捕获异常阐述express的特点

    node如何捕获异常 node基于js的单线程,有了非阻塞异步回调的概念,但是在处理多个并发连接时,并发环境要求高,最重要的是单线程,单核CPU,一个进程crash则web服务都crash,但是为什么 ...