MATLAB Answers

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

6 views (last 30 days)
James
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 :)
Thanks in advance!

  0 Comments

Sign in to comment.

Accepted Answer

KSSV
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

  3 Comments

James
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.
James
James on 5 Aug 2020
Ah yes. Just looked over the documentation and seems like that should be my option. Thanks!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by