Plot many curves in one plot using for loop
3 次查看(过去 30 天)
显示 更早的评论
Is there a way to have the variables in the plot change?
I am trying to do this:
for i=1:1:8
plot(x(i),o_vac(i))
hold on
end
But I get a grey screen for my figure. I want to plot 8 graphs with x1, y1, then x2, y2. Is this possible?
2 个评论
Stephen23
2017-7-17
编辑:Stephen23
2017-7-17
plot(x(i),o_vac(i))
does not make much sense: you are plotting single points in a loop. This is very inefficient: if that is what you want then just plot all points at once and select the linestyle to suit.
Why do you need to use a loop? Just put your data into a matrix (arranged by column) and one single plot call is all you need:
plot(X,Y)
回答(1 个)
Robert U
2017-7-18
Hi Benjamin,
the following code snippet works as you would expect it to do:
% create data
for ik = 1:4
x(:,ik) = (-2:0.01:2)*pi/4*ik;
A(:,ik) = sin(x(:,ik) + ik*pi/4);
end
% plot data
fh = figure;
ah = axes('Parent',fh);
hold on
for ik = 1:4
plot(ah,x(:,ik),A(:,ik))
end
My suggestion would be to check on data validity. Are all values numeric? Are there blank spaces (empty cells) or nan-values?
Kind regards,
Robert
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!