Use the same color multiple times in a plotting loop

38 ビュー (過去 30 日間)
Ralf Niemann
Ralf Niemann 2013 年 7 月 23 日
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 件のコメント
Ralf Niemann
Ralf Niemann 2013 年 7 月 24 日
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 2013 年 7 月 24 日
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

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

採用された回答

Narges M
Narges M 2013 年 7 月 24 日
編集済み: Narges M 2013 年 7 月 24 日
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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeAnnotations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by