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

评论: 0 浏览: 1365 ***新更新时间: 1个月前

***种方法

%% ***种方法
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

效果

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

但是如果我们想要再在这个图中添加一个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进行命名。

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

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

就修改好了!!


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

点击启动AI问答
Draggable Icon