主要内容

drawn

更新数字和处理回调

描述

例子

drawn更新数据并处理任何待处理的回调。如果修改图形对象并立即查看屏幕上的更新,请使用此命令。

例子

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

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

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

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

绘制露出更新数字,但缺少回调。不建议使用此语法。使用nocallbacks.代替选项。

例子

全部收缩

创建一个行的动画,因为它累积了2,000个数据点。使用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之前介绍