matlab之drawnow
- 功能:更新数据并处理回调
- 函数:drawnow 、 drawnow limitrate、 drawnow nocallbacks 、drawnow limitrate nocallbacks 、drawnow update 、drawnow expose
- 介绍
- Drawnow更新数据并处理所有未决的回调。 如果您修改图形对象并希望立即在屏幕上查看更新,请使用此命令。
创建一条累积2000个数据点的直线动画。 遍历循环后,使用drawow在屏幕上显示更改。 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
- drawow limitrate将更新次数限制为每秒20帧。 如果自上次更新以来不到50毫秒,或者图形渲染器忙于上一次更改,则drawow丢弃新更新。 如果要循环更新图形对象,并且不需要在屏幕上看到每个更新,请使用此命令。 跳过更新可以创建更快的动画。 处理待处理的回调,因此您可以在动画期间与图形进行交互。
%创建一条累积了10,000点的直线动画。 由于有10,000点,因此在屏幕上绘制每个更新速度很慢。
% 通过使用drawow limitrate限制更新次数来创建更快,更流畅的动画。 然后,在循环结束后,通过调用drawow在屏幕上显示最终更新。 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更新数据并处理所有未决的回调。 如果您修改图形对象并希望立即在屏幕上查看更新,请使用此命令。