# Draw the trail of a moving marker on an animated 2D plot

6 views (last 30 days)
James on 5 Aug 2020
Commented: James on 5 Aug 2020
Hi everyone!
So, I'm creating a 2D plot where the marker moves from one point to another (nothing fancy, just pausing the plot). Code in question is something similar to this.
A = rand(1800,1);
B = rand(1800,1); % I'm just using dummy values here but my actual program has similar outputs (1800 x 1 double)
for i=1:1800
plot (A(i),B(i), 'd', 'MarkerSize', 5, 'MarkerFaceColor', 'k')
axis ([-10 10 -10 10])
pause (0.1)
end
What I'm trying to achieve now is, however, the trail of the marker. When the marker goes from point 1 to 2 (for instance) I want it to leave a trail. So at the end of the day, there will be a plotted graph. How can I approach this?
Also, I'd appreciate any pointers or easier methods for this than using a for loop, if there is one :)

KSSV on 5 Aug 2020
Edited: KSSV on 5 Aug 2020
A = rand(1800,1);
B = rand(1800,1); % I'm just using dummy values here but my actual program has similar outputs (1800 x 1 double)
for i=1:1800
plot (A(i),B(i), 'd', 'MarkerSize', 5, 'MarkerFaceColor', 'k')
hold on
plot(A(1:i),B(1:i),'r')
hold off
axis ([-10 10 -10 10])
pause (0.1)
end

James on 5 Aug 2020
Thank you! That's a simple, yet interesting catch :)
But this is what I get and unfortunately, it is not what I expected.
I see the red line (plot), which is the ideal part that I needed but is there a way to get rid of each marker at each position? Or is it just bad graphics on my part? Ideally, there should be one marker at the end of the line.
KSSV on 5 Aug 2020
You can use the function comet. This is good.
James on 5 Aug 2020
Ah yes. Just looked over the documentation and seems like that should be my option. Thanks!