对于我们读入的一个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行就好~最后附图
同理,如果要批量改线型、线宽都是可以这样改的
————————————————
版权声明:本文为CSDN博主「chenyxir」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chenyxir/java/article/details/82112642