- call legend with a single legend entry, such as inside a loop or trying to place the legend call for each plot() right after the associated plot(); or call legend passing in only one graphics object handle
is there any way to put two plots in one legend entry?
조회 수: 45 (최근 30일)
이전 댓글 표시
is it possible to combine multiple plots in one legend entry as shown in the picture? . I tried various operations with [] and () but it didn't work.
Is there a way to put two plots in one legend entry?
댓글 수: 0
채택된 답변
Walter Roberson
2019년 9월 18일
That happens automatically unless you do one of the following:
Some of the approaches that work are:
A)
for K = 1 : 6
this_x = something(K,:);
this_y = someother(K,:);
thislegend = sprintf('R%d', K); %construct a legend string
legends{K} = thislegend; %record it
plot(this_x, this_y);
hold on
end
legend(legends);
B)
for K = 1 : 6
this_x = something(K,:);
this_y = someother(K,:);
thislegend = sprintf('R%d', K); %construct a legend string
legends{K} = thislegend; %record it
linehandles(K) = plot(this_x, this_y);
hold on
end
legend(linehandles, legends);
C)
for K = 1 : 6
this_x = something(K,:);
this_y = someother(K,:);
thislegend = sprintf('R%d', K); %construct a legend string
linehandles(K) = plot(this_x, this_y, 'DisplayName', thislegend);
hold on
end
legend(linehandles, 'show');
D)
for K = 1 : 6
this_x = something(K,:);
this_y = someother(K,:);
plot(this_x, this_y);
hold on
end
legend({'R1', 'R2', 'R3', 'R4', 'R5', 'R6'});
댓글 수: 0
추가 답변 (1개)
Fuad Nammas
2019년 9월 18일
편집: Fuad Nammas
2019년 9월 18일
댓글 수: 2
Walter Roberson
2019년 9월 19일
h = plot(T,I1/nm,'r',T,I11/nm,'--r',T,I2/nm,'b',T,I22/nm,'--b',T,I3/nm,'k',T,I33/nm,'--k');
legend(h(1:2:end), {'R_1=a_B','R_2=1.2a_B','R_3=1.4a_B'})
참고 항목
카테고리
Help Center 및 File Exchange에서 Legend에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!