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

12 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Ishaan Mehta
Ishaan Mehta il 12 Lug 2022
Modificato: Ishaan Mehta il 12 Lug 2022
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 Commenti
carlos g
carlos g il 12 Lug 2022
Hi Ishaan,
Is it possible to replace randomColor by the actual by-default MATLAB colours? Namely blue, red, etc
Ishaan Mehta
Ishaan Mehta il 12 Lug 2022
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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 2-D and 3-D Plots in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by