Matlab 颜色图线图
Matlab colormap line plot
我正在尝试使用颜色图为绘图上的线条分配颜色。每行的数据都是从一个文件生成的,每次导入的文件数/绘制的行数都是可变的。我的代码是:
d = uigetdir(pwd, 'Select a folder');
files = dir(fullfile(d, '*.txt'));
len = length(files);
for i = 1:len
a = files(i).name;
filename{i} = a;
path = [d,'\',a];
colour = round(random('unif',0,200,1,3))/255;
data = dlmread(path);
plot(data(:,1), data(:,2),'color',colour,'linewidth',2);
hold on;
end
hold off;
目前线条的颜色是随机生成的,但我真的很想使用 colormap (jet(n))
以便 运行 从红色到蓝色的线条在光谱中等距分布。
但是每次导入的文件数量不同,不知道n是多少。我已经尝试在我的代码中使用颜色图,但每次都会出错。
您可以从颜色图中指定您想要的等间距颜色的数量,例如jet(20)
将为您提供从蓝色到红色的 20 种等距 RGB 颜色。
您可以像这样使用它为您的个人线条着色:
x = [0:0.1:10];
linecolors = jet(5);
for i=1:5
plot(x,x.^(i/3),'color',linecolors(i,:));
hold on;
end
应用于您的特定问题,代码看起来像这样(未经测试):
d= uigetdir(pwd, 'Select a folder');
files = dir(fullfile(d, '*.txt'));
len = length(files);
linecolors = jet(len);
for i = 1:len
a = files(i).name;
filename{i} = a;
path = [d,'\',a];
data = dlmread(path);
plot(data(:,1), data(:,2),'color',linecolors(i,:),'linewidth',2);
hold on;
end
hold off;
我正在尝试使用颜色图为绘图上的线条分配颜色。每行的数据都是从一个文件生成的,每次导入的文件数/绘制的行数都是可变的。我的代码是:
d = uigetdir(pwd, 'Select a folder');
files = dir(fullfile(d, '*.txt'));
len = length(files);
for i = 1:len
a = files(i).name;
filename{i} = a;
path = [d,'\',a];
colour = round(random('unif',0,200,1,3))/255;
data = dlmread(path);
plot(data(:,1), data(:,2),'color',colour,'linewidth',2);
hold on;
end
hold off;
目前线条的颜色是随机生成的,但我真的很想使用 colormap (jet(n))
以便 运行 从红色到蓝色的线条在光谱中等距分布。
但是每次导入的文件数量不同,不知道n是多少。我已经尝试在我的代码中使用颜色图,但每次都会出错。
您可以从颜色图中指定您想要的等间距颜色的数量,例如jet(20)
将为您提供从蓝色到红色的 20 种等距 RGB 颜色。
您可以像这样使用它为您的个人线条着色:
x = [0:0.1:10];
linecolors = jet(5);
for i=1:5
plot(x,x.^(i/3),'color',linecolors(i,:));
hold on;
end
应用于您的特定问题,代码看起来像这样(未经测试):
d= uigetdir(pwd, 'Select a folder');
files = dir(fullfile(d, '*.txt'));
len = length(files);
linecolors = jet(len);
for i = 1:len
a = files(i).name;
filename{i} = a;
path = [d,'\',a];
data = dlmread(path);
plot(data(:,1), data(:,2),'color',linecolors(i,:),'linewidth',2);
hold on;
end
hold off;