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 on
end
legend(leg_str)


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

同理,如果要批量改线型、线宽都是可以这样改的


————————————————
版权声明:本文为CSDN博主「chenyxir」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chenyxir/java/article/details/82112642

  • 5
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值