Plot two set of curves with the same colours on the same figure

8 ビュー (過去 30 日間)
carlos g
carlos g 2022 年 7 月 12 日
コメント済み: Ishaan Mehta 2022 年 7 月 12 日
I have two sets of curves plotted with a loop:
for ....
plot(den_avg,(z),'-','LineWidth',2) %Set 1
hold on
plot(velu_avg+1,(z),'--','LineWidth',2) %Set 2
hold on
end
I basically want sets 1 and 2 to have the same colours, this is:
First iteration: Plot 1 blue colour, Plot 2 blue colour
Second iteration: Plot 1 red colour, Plot 2 red colour
etc
How to do this?

採用された回答

Ishaan Mehta
Ishaan Mehta 2022 年 7 月 12 日
編集済み: Ishaan Mehta 2022 年 7 月 12 日
Hi Carlos
I understand that you want to plot two curves on the same figure, and wish to change the plot color for each iteration of the for loop.
You can use MATLAB's rand function to create a random integer during each iteration, and use this random value to specify the color.
Here is a code snippet for the same:
t = 0:0.01:8;
colors = ["red", "blue", "green", "cyan", "magenta", "yellow", "black"];
numel(colors)
ans = 7
for i = 1:10
plotColor = colors(rem(i, numel(colors)) +1);
hold on
% printing sin and cos waveforms for demo
plot(t, sin(t + (0.2 * i)), 'color', plotColor);
plot(t, cos(t + (0.2 * i)), 'color', plotColor);
hold off
end
Hope it helps
Ishaan Mehta
  2 件のコメント
carlos g
carlos g 2022 年 7 月 12 日
Hi Ishaan,
Is it possible to replace randomColor by the actual by-default MATLAB colours? Namely blue, red, etc
Ishaan Mehta
Ishaan Mehta 2022 年 7 月 12 日
Hey Carlos
Yes, that's possible too. I have updated my answer to use color codes for red, blue etc., please have a look.
You can also take a look at Specify Plot Colors documentation page for more color options.
Ishaan

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by