How to Plot in a For Loop within a function?

Okay so I've made this for loop and if I turn it into an animated plot it works but when I want it to work as a normal plot all I get is a blank plot as my output how can I fix this?
function [] = hplot(data)
%
hold on
for i = i:numel(data.Time)
plot(data.Time(i), data.X(i))
end
hold off
end

Answers (2)

madhan ravi
madhan ravi on 19 Oct 2018
Edited: madhan ravi on 19 Oct 2018
EDITED
data = load('heel_bottom.mat')
x = data.heel_bottom.left.X
time = data.heel_bottom.Time
'on'
size(time)
size(X)
for i = 1:numel(time)
plot(time(1:i), x(1:i),'-ob')
pause(0.1)
hold on;
end
'off'

5 Comments

Add the first and last line of your code in my answer
Continues to do the same thing except for this time the axis just move around, but nothing is shown.
Can you upload the datas?
check the edited code now

Sign in to comment.

Try this:
s = load('heel_bottom.mat')
heel_bottom = s.heel_bottom;
hplot(heel_bottom);
function [] = hplot(data)
numPoints = length(data.Time);
for i = 1:numPoints
fprintf('Plotting point %d of %d.\n', i, numPoints);
plot(data.Time(i), data.left.X(i), '.', 'MarkerSize', 20)
pause(0.05);
hold on;
end
grid on;
hold off
end

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 19 Oct 2018

Edited:

on 19 Oct 2018

Community Treasure Hunt

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

Start Hunting!