matlab同时画n多条曲线,设置颜色及图例

对于我们读入的一个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));

matlab同时画n多条曲线,设置颜色及图例_第1张图片

对,这样就可以简单同时画出多行了,但是颜色它是随机的,你喜欢就好~那如果不喜欢呢?还有图例呢,咋办,不会让我一个个手动输入吧?下面帮你解决

%定义一个颜色矩阵
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行就好~最后附图

matlab同时画n多条曲线,设置颜色及图例_第2张图片

 

同理,如果要批量改线型、线宽都是可以这样改的呢,你get到了吗

matlab同时画n多条曲线,设置颜色及图例_第3张图片

 

 

你可能感兴趣的:(matlab同时画n多条曲线,设置颜色及图例)