matlab--legend利用for循环添加图例

第一种方法

%% 第一种方法
R = 1:4;
THETA1 = atand(R./1.8);
legend_name = {};
for i = 1:4
    
    THETA = atand(R(i)./1.8);
    intTheta = floor(THETA);
    R_THERA = 1.8 - (R(i)./tand(intTheta-10:intTheta+10));
    R_THERA1 = 1.8 - (R(i)/tand(intTheta));
    plot(R_THERA);grid on;
    hold on
    legend_name{i} = [num2str( R(i) ),'m'];	% 在元胞数组末尾添加图例序号
    legend(legend_name)
 
end

效果
在这里插入图片描述
但是如果我们想要再在这个图中添加一个plot

   plot(R_THERA);grid on;
    hold on
    plot(0,R_THERA1,'r*')
    legend_name{i} = [num2str( R(i) ),'m'];	% 在元胞数组末尾添加图例序号
    legend(legend_name)

就会把图例添加到我们新建的plot中,这不是我们想要的,因此第二种方法对指定的plot进行命名。
在这里插入图片描述
第二种方法:

R = 1:4;
THETA1 = atand(R./1.8);
legend_name = {};
for i = 1:4
    
    THETA = atand(R(i)./1.8);
    intTheta = floor(THETA);
    R_THERA = 1.8 - (R(i)./tand(intTheta-10:intTheta+10));
    R_THERA1 = 1.8 - (R(i)/tand(intTheta));
    h(i) =  plot([-10:10],R_THERA);grid on;
    hold on
    plot(0,R_THERA1,'r*')
end

 legend(h([1,2,3,4]),'1m','2m','3m','4m');	% 用每一列字符串作为标签
  hold off

在这里插入图片描述
就修改好了!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值