主要内容

drawn

更新数字和处理回调

描述

例子

drawn更新数据并处理任何挂起的回调。如果您修改图形对象并希望立即在屏幕上看到更新,请使用此命令。

例子

rawingow limitrate.将更新数限制为每秒20帧。如果它自上次更新以来已经少于50毫秒,或者图形渲染器正忙于以前的更改,那么drawn丢弃新的更新。如果您正在循环更新图形对象,并且不需要在屏幕上看到每次更新,请使用此命令。跳过更新可以创建更快的动画。挂起的回调将被处理,因此您可以在动画期间与图形交互。

rawswallbacks.叛逆的回调,如buttondownfcn.回调,直到下一个完整drawn命令。如果要防止回调中断代码,请使用此选项。推迟回调暂时禁用图形交互,例如鼠标单击或调整图形大小。推迟回调不会影响动画速度。

rawingow limitrate nocallbacks.限制每秒20帧的更新数,如果渲染器正忙,则会跳过更新。此语法还可以防止回调中断代码,该代码暂时禁用图形交互。

绘制更新如果渲染器忙碌并且逗号持续回调,则跳过更新更新。不推荐使用此语法。使用限制代替选项。

绘制露出更新数据,但推迟回调。不推荐使用此语法。使用nocallbacks代替选项。

例子

全部收缩

创建一条随着积累2000个数据点而增长的线的动画。使用drawn在每次迭代后显示屏幕上的更改。

h =动画线;轴([0 4 * pi -1 1])x = linspace(0,4 * pi,2000);为了k = 1:长度(x)y = sin(x(k));addpoints(h,x(k),y);drawn结尾

创建一条日益增长的动画,因为它累积了10,000分。由于有10,000点,绘制屏幕上的每个更新都很慢。通过限制使用的更新数来创建更快的动画rawingow limitrate.。然后,通过调用显示屏幕上的最终更新drawn循环结束后。

h =动画线;轴([0 4 * pi -1 1])x = linspace(0,4 * pi,10000);为了k = 1:长度(x)y = sin(x(k));addpoints(h,x(k),y);drawn限制结尾drawn

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

h =动画线;轴([0 4 * pi -1 1])x = linspace(0,4 * pi,10000);y = sin(x);为了k = 1:长度(x)addpoints(h,x(k),y(k));drawn限制结尾drawn

如果您有长计算,预先计算数据可以提高性能。预先计算通过允许计算运行而不中断,最小化计算时间。此外,它通过专注于动画循环中的图形代码,有助于确保平滑动画。

更多关于

全部收缩

相当于的行动drawn

这些操作相当于调用完整drawn命令:

提示

  • nocallbacks选项总是向队列添加中断回调。如果您想放弃中断回调,则使用中断忙碌属性。

在R2006A之前介绍