This example shows how to use
animatedline to create an animation of a line that gets longer in every frame.
animatedline function creates an object that is designed specifically for line animations. Initially, the animated line object is empty, so MATLAB� does not plot the line.
N = 30; x = linspace(0,20,N); y = x - 0.05*x.^2; figure l = animatedline
l = AnimatedLine with properties: Color: [0 0 0] LineStyle: '-' LineWidth: 0.5000 Marker: 'none' MarkerSize: 6 MarkerFaceColor: 'none' MaximumNumPoints: 1000000 Use GET to show all properties
addpoints to add an additional point or vector of points to the animated line. MATLAB adds the additional points onto your animated line making your line longer.
addpoints(l,x(1:5),y(1:5)) % add first 5 points to the line
addpoints within a loop to create a line animation. To control the speed of your line animation, use
pause after you add a point or a set of points. To prevent the limits of the axes from changing with each added set of points, set the x and y limits before the loop.
xlim([0 20]) % set x limits ylim([0 5]) % set y limits for ix = 5:5:N-5 addpoints(l,x(ix+1:ix+5),y(ix+1:ix+5)) % add the next 5 points drawnow % refresh the image on screen pause(0.2) % control animation speed snapnow % (required for published document only) end
animatedline function accepts optional input arguments to specify the properties of the line, such as
LineStyle. To change the properties of the animated line after its created, use dot notation syntax
l2 = animatedline('Color','r'); addpoints(l2,x(1:5),y(1:5)) l2.Marker = '*';
Use the function
getpoints to return the coordinates of all the points in the animated line.
[x,y] = getpoints(l2)
x = 0 0.6897 1.3793 2.0690 2.7586 y = 0 0.6659 1.2842 1.8549 2.3781
Graphics objects in MATLAB have many properties. To see all the properties of an animated line object, use the
AlignVertexCenters: 'off' Annotation: [1x1 matlab.graphics.eventdata.Annotation] BeingDeleted: 'off' BusyAction: 'queue' ButtonDownFcn: '' Children: [0x0 GraphicsPlaceholder] Clipping: 'on' Color: [1 0 0] CreateFcn: '' DeleteFcn: '' DisplayName: '' HandleVisibility: 'on' HitTest: 'on' Interruptible: 'on' LineStyle: '-' LineWidth: 0.5000 Marker: '*' MarkerEdgeColor: 'auto' MarkerFaceColor: 'none' MarkerSize: 6 MaximumNumPoints: 1000000 Parent: [1x1 Axes] PickableParts: 'visible' Selected: 'off' SelectionHighlight: 'on' Tag: '' Type: 'animatedline' UIContextMenu: [0x0 GraphicsPlaceholder] UserData:  Visible: 'on'