Use the same color multiple times in a plotting loop

22 vues (au cours des 30 derniers jours)
Ralf Niemann
Ralf Niemann le 23 Juil 2013
Hello everyone,
I have a problem with a plotting loop, where I am plotting the spectral data and following the fit. For the reason of clarity I want to have them both in the same color, however matlab switches to the next color in order. Can anyone give me hint how to avoid this?
Ralf
  3 commentaires
Ralf Niemann
Ralf Niemann le 24 Juil 2013
exactly that. I hope this makes my problem more clear:
folder=dir('*.csv');
for i=1:length(folder)
file=folder(i,1).name;
A=csvread(file);
plot(A(:,1),A(:,2));
hold all
f(:,1)=A(:,1);
f(:,2)=smooth(A(:,2),0.01,'lowess');
plot(f(:,1),f(:,2),'--');
end
Ralf Niemann
Ralf Niemann le 24 Juil 2013
problem solved:
folder=dir('*.csv');
cc=lines(length(folder));
for i=1:length(folder)
file=folder(i,1).name;
A=csvread(file);
plot(A(:,1),A(:,2),'Color',cc(i,:));
hold all
f(:,1)=A(:,1);
f(:,2)=smooth(A(:,2),0.01,'lowess');
plot(f(:,1),f(:,2),'Color',cc(i,:),'--');
end

Connectez-vous pour commenter.

Réponse acceptée

Narges M
Narges M le 24 Juil 2013
Modifié(e) : Narges M le 24 Juil 2013
You could use a colormap such as HSV to generate a set of colors. For example:
folder=dir('*.csv');
N = length(folder);
col=hsv(N);
for i=1:N
file=folder(i,1).name;
A=csvread(file);
plot(A(:,1),A(:,2),'color',col(i,:));
hold all
f(:,1)=A(:,1);
f(:,2)=smooth(A(:,2),0.01,'lowess');
plot(f(:,1),f(:,2),'--','color',col(i,:));
end

Plus de réponses (0)

Catégories

En savoir plus sur Scatter Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by