How to Plot in a For Loop within a function?
Show older comments
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
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
madhan ravi
on 19 Oct 2018
Add the first and last line of your code in my answer
Junior Roth
on 19 Oct 2018
madhan ravi
on 19 Oct 2018
Can you upload the datas?
Junior Roth
on 19 Oct 2018
madhan ravi
on 19 Oct 2018
check the edited code now
Image Analyst
on 19 Oct 2018
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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!