way to legend a data organized into colours in simple plot?
    조회 수: 3 (최근 30일)
  
       이전 댓글 표시
    
first_data = [[3 4 8 1];[3 6 4 9]];  % desired legend (first) & color (green)
second_data = [[1 3 5];[3 2 7];[3 4 2]]; % desired legend (second) & color (cyan)
combine = {first_data,second_data};  % recieving new data in every 'for' loop iteration thats why combining
colours = {'g','c'};
Legend_Names = {'first','second'};
for i = 1:length(combine)
    plot(cell2mat(combine(i)),'Color',cell2mat(colours(i)),'LineWidth',2); grid on; hold on;
end
legend(Legend_Names)

i wish to plot my each data set with same colour... in this case legend ''Second'' should have ''cyan'' colour
댓글 수: 0
채택된 답변
  Star Strider
      
      
 2025년 2월 26일
        
      편집: Star Strider
      
      
 2025년 2월 26일
  
      I am not certain what you want.  
One option — 
first_data = [[3 4 8 1];[3 6 4 9]];  % desired legend (first) & color (green)
second_data = [[1 3 5];[3 2 7];[3 4 2]]; % desired legend (second) & color (cyan)
combine = {first_data,second_data};  % recieving new data in every 'for' loop iteration thats why combining
colours = {'g','c'};
Legend_Names = {'first','second'};
for i = 1:length(combine)
    hp{i} = plot(cell2mat(combine(i)),'Color',cell2mat(colours(i)),'LineWidth',2, DisplayName=Legend_Names{i});
    hold on;
end
grid on; 
legend([hp{1}(1) hp{2}(1)], Location = 'best')
For either of these, it is necessary to return the handles of each plot call, and pass them to the legend call..  
EDIT — Ran code again.  
.
추가 답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Legend에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
