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));

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

%定义一个颜色矩阵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 onendlegend(leg_str)

通过定义一个颜色矩阵帮忙解决这个问题,当然若是你列数太多,可以颜色矩阵定义可以采用循环来定义,不是三列嘛,每一列在0-1之间变化共设置col行就好~最后附图

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

点这里可以跳转到人工智能网站

发表评论