MATLAB skill 用for循环画图

有些情况下我们可能用一个数组存储多组数据,比如如下代码中的AG_all, 这时候一个一个的画每组数据很麻烦,可以借助for循环

     altstyles = {'g-'; 'r-'; 'b-'; 'kv-'; 'mo-.'; 'g*--'; 'r+--'};
        figure
        for i=1:Nc
            plot(theta_range,AG_all(i,:),altstyles{i})
            hold on
        end
        h_all=flipud(get(gca,'Children'));
        legend([h_all(1),h_all(2),h_all(3)],'Nc=1','Nc=2','Nc=3')
        xlabel('$\theta$','interpreter','latex')
        ylabel('Normalized array gain')
        grid on

注意获取图形句柄的时候一定要加flipud(),因为get(gca,‘Children’)默认是倒序输出。另外一种方式是手动记录图形句柄,如下

     altstyles = {'g-'; 'r-'; 'b-'; 'kv-'; 'mo-.'; 'g*--'; 'r+--'};
        figure
        hall=[]
        for i=1:Nc
            h=plot(theta_range,AG_all(i,:),altstyles{i})
            hold on
            hall=[hall h]
        end
        legend([h_all(1),h_all(2),h_all(3)],'Nc=1','Nc=2','Nc=3')
        xlabel('$\theta$','interpreter','latex')
        ylabel('Normalized array gain')
        grid on

常用的颜色和线型如下(其他未尽组合可以自行探索)

marker_style = {'o-','s--','v-.','+:','<-','>--','x-.','^:','*-','d--','h-.','p:'};
marker_color = [...
    0.0000    0.4470    0.7410;...
    0.8500    0.3250    0.0980;...
    0.9290    0.6940    0.1250;...
    0.4940    0.1840    0.5560;...
    0.4660    0.6740    0.1880;...
    0.3010    0.7450    0.9330;...
    0.6350    0.0780    0.1840;...
    0.7500    0.7500    0.0000;...
    0.7500    0.0000    0.7500;...
    0.0000    0.5000    0.0000;...
    0.0000    0.0000    1.0000;...
    1.0000    0.0000    0.0000];   
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值