Plot lines with different colors each iteration

Hi,
The following code plots 5 lines, all in black. I want them different in colors for each iteration. This section is within a large loop.
Q = volymflode*3600;
H = DeltaPF_TOT/(((rho_varm+rho_kall)/2)*g);
vektor_Q(1,j)=Q;
vektor_H(1,j)=H;
figure(1);
title('Systemkurva');
plot(vektor_Q,vektor_H,'k-','LineWidth',1);
ylabel('Uppfodringshöjd [m]');
xlabel('Volymflöde [M^3/h]');
plot(Qpump1,Hpump1,'b-')
j=j+1;
hold on
How do i make this happen?

回答(2 个)

I've I assumed the loop index to be ii, then you can modify the plot portion of your code to be:
colorInd='ckyrb';
plot(vektor_Q,vektor_H,['-' colorInd(ii)],'LineWidth',1);
In this case, the color will be in the following order: 1.cyan 2.black 3.yallow 4.red 5.blue You can use whatever color you want by typing different symbols in colorInd variable.This may help also : https://www.mathworks.com/help/matlab/ref/linespec.html

1 个评论

Should've mentioned it's within a while loop so no direct loop index exists, so I don't think this will work in my case. Got any another ideas more easily implemented in a while loop?
Edit: The while loop uses a counter and the loop stops when the counter reaches 50.

请先登录,再进行评论。

Simply get rid of the k
plot(vektor_Q, vektor_H, '-', 'LineWidth', 1);
ylabel('Uppfodringshöjd [m]');
xlabel('Volymflöde [M^3/h]');
hold on;
plot(Qpump1, Hpump1, 'b-', 'LineWidth', 2)
That will use the defined color order for plots, one of which is probably blue, so that's why I set the linewidth of your blue plot to 2 so you can tell the difference. If you want to specify the colororder, see attached demos.

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by