Info

This question is closed. Reopen it to edit or answer.

how shalll I swith to different Axes in one figure?

2 views (last 30 days)
vx2008
vx2008 on 10 Aug 2016
Closed: MATLAB Answer Bot on 20 Aug 2021
figure;
H1=axes;
plot(x1,y1);(after that insert its legend on the figure)
H2=axes;
plot(x2,y2);(after that insert its legend on the figure)
H3=axes;
plot(x1,y1);(after that insert its legend on the figure)
After that I set "color" of "H2" and "H3" to be 'none';
Now I can see the three "lines" together and I want to rearrange the three "legends" (I find I just can move legend3) and add x-axis lable for H2 (I find I can't insert x-label for H2). How shall I?

Answers (1)

Walter Roberson
Walter Roberson on 10 Aug 2016
You cannot legend() all of the entries individually to get a combined legend. You need to legend() at the end. Better yet would be to record the handles of each of the plots and pass the array of those handles as the first entry to legend(). Also, each of those axes() calls is causing everything before that to be erased because you are not using "hold on". You should consider using subplot()
fig = figure;
H1 = subplot(1, 3, 1, 'Parent', fig);
L(1) = plot(H1, x1, y1, 'r');
H2 = subplot(1, 3, 2, 'Parent', fig);
L(2) = plot(H2, x2, y2, 'b');
H3 = subplot(1, 3, 3, 'Parent', fig);
L(3) = plot(H3, x1, y1, 'g');
legend(L, {'first plot', 'second plot', 'third plot'})
  1 Comment
vx2008
vx2008 on 10 Aug 2016
Thank you very much. I have resolve this problem according to your explanation.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!