Clear Filters
Clear Filters

How to adjust plots with several subplots with different loops?

4 views (last 30 days)
Dear all,
I a have problem in adjusting the loop in the subplots and hope, that someone can help me with it.
What I would like to plot is:
However, I would like to automate and shorten it by loops with:
Unfortunately, the loop for the subplot does not match the loop for the y matrix, i.e., in subplot (1,3,1) I get the 3 times y(:,1) for the y axis instead of y(:,1), y(:,2), y(:,3). Is there a way to fix this or do I have to plot it individually ?
Thanks a lot for your help!
Regards,
Anna
  2 Comments
Catalytic
Catalytic on 3 Jun 2023
Edited: Catalytic on 3 Jun 2023
Your code cannot be copy&pasted since it is not posted as text. Therefore, it is unlikely anyone will try to modify it.
Amelie
Amelie on 4 Jun 2023
Thanks for the advice! I haven't thought about that, but you are absolutely right.

Sign in to comment.

Accepted Answer

VBBV
VBBV on 3 Jun 2023
Edited: VBBV on 3 Jun 2023
You can modify the for loop something like this as shown below
x = rand(1,10);
z = rand(1,10);
w = rand(1,10);
k = 0;
figure
for ii = 1:3
y = rand(10,3);
subplot(1,3,ii)
hold on
plot(x,y(:,k+ii),'linewidth',4,'Color','cyan')
plot(z,y(:,k+ii+1),'linewidth',2,'Color','red')
plot(w,y(:,k+ii+2),'linewidth',1.5,'Color','blue')
k = k - 1;
legend('show')
end

More Answers (1)

Catalytic
Catalytic on 3 Jun 2023
Edited: Catalytic on 3 Jun 2023
ord={x,z,w};
for i=1:3
subplot(1,3,i);
h=plot(ord{i},y,'LineWidth',4);
[h.Color]=deal('cyan','red','blue');
end

Community Treasure Hunt

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

Start Hunting!