对于我们读入的一个excel表格,包含m*n个元素,如果我们要对这n列同时画图显示出来,如何显示呢?
file = 'D:\a.xlsx';
data=xlsread(file,'sg—sort');
SS = data(1,2:end); %待会图例需要的内容,这里我的是COD溶液浓度
data = data(2:end,:);
[row,col] = size(data);
band = data(:,1); % 第一列x,这里我是波长
figure;
plot(band ,data(:,2:end));
对,这样就可以简单同时画出多行了,但是颜色它是随机的,你喜欢就好~那如果不喜欢呢?还有图例呢,咋办,不会让我一个个手动输入吧?下面帮你解决
%定义一个颜色矩阵
color=[1 0 0;0 1 0;0 0 1;0.5 1 1;1 1 0.5;1 0.5 1; 0 0 0.5; 0.5 0 0;0 0.5 0;1 0.5 0.5; 0.5 1 0.5;0.5 0.5 1;1 1 0;0 1 1;1 0 1];
figure;
for i=2:col
plot(data(2:end,1),data(2:end,i),'color',color(i-1,:));
leg_str{i-1}=[num2str(SS(i-1)),'mg/L'];
hold on
end
legend(leg_str)
通过定义一个颜色矩阵帮忙解决这个问题,当然若是你列数太多,可以颜色矩阵定义可以采用循环来定义,不是三列嘛,每一列在0-1之间变化共设置col行就好~最后附图