Legend line are the same always
    조회 수: 5 (최근 30일)
  
       이전 댓글 표시
    
I'm using hold on to draw different figures and after I have all the figures I use legend('lable1','lable2','lable3') however, all the legend are used with the same color, do you know how to use the exact color for each legend ?
I searched through different post and none of them could solve my problem
figure; hold on
plot ([1:10]',rand(10),'r')
plot ([1:10]',rand(10),'b')
plot ([1:10]',rand(10),'c')
댓글 수: 3
답변 (2개)
  sixwwwwww
      
 2013년 10월 9일
        
      편집: sixwwwwww
      
 2013년 10월 9일
  
      For matrices you can do like this
a = rand(10);
b = rand(20);
c = rand(30);
plot(a), hold on
plot(b), hold on
plot(c), hold on
legends = {'a', 'b', 'c'};
Legend=legend(legends);
set(Legend,'Interpreter','none');
In case of unknown number of matrices. you can use cell array to store legend text and then follow last two lines of code. I hope this will help
  Sean de Wolski
      
      
 2013년 10월 9일
        
      편집: Sean de Wolski
      
      
 2013년 10월 9일
  
      Pass the plot handles into legend
More
When you plot rand(10) it will plot 10 lines and give you back 10 handles. Thus you'll need to only pass one of these into legend for each color:
figure; hold on
h = plot ([1:10]',rand(10),'r'); %10 line handles
h = vertcat(h,plot([1:10]',rand(10),'b');  %add second 10 line handles
h = vertcat(h,plot([1:10]',rand(10),'c')); %add third 10 line handles
legend(h(1:10:30),'One','Two','Three'); %pass every 10th line handle into legend
참고 항목
카테고리
				Help Center 및 File Exchange에서 Legend에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


