Tabbed plots removes my title and labels?
4 views (last 30 days)
Show older comments
Tobias Jørgensen
on 31 Mar 2020
Commented: Tobias Jørgensen
on 3 Apr 2020
I have created two figures which contains a new tab for each plot.
However only Figure2 contains "title" and "labels" on the plot and it also contains the "legend" which should have been on Figure1 - tab2.
Any suggestions why this happens?
Code and screenshots are attached.
figure_handles(1).mainfig = figure;
figure_handles(1).tabgroup = uitabgroup;
figure_handles(2).mainfig = figure;
figure_handles(2).tabgroup = uitabgroup;
% Fig1, tab1
newtab = uitab(figure_handles(1).tabgroup, 'Title', "tab1");
ax1 = axes(newtab);
plot(ax1,rand(1,100)*10,rand(1,100)*10);
title('FIG 1')
xlabel('X label')
ylabel('Y label')
% Fig2, tab1
newtab = uitab(figure_handles(2).tabgroup, 'Title', "tab1");
ax = axes(newtab);
plot(ax,rand(1,100)*10,rand(1,100)*10);
title('FIG 2')
xlabel('X label')
ylabel('Y label')
% Fig1, tab2 with legend
newtab = uitab(figure_handles(1).tabgroup, 'Title', "tab2");
ax3 = axes(newtab);
plot(ax3,rand(1,100)*10,rand(1,100)*10);
hold on
plot(ax3,rand(1,100)*10,rand(1,100)*10);
legend('1', '2')
title('FIG 1')
xlabel('X label')
ylabel('Y label')
hold off
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/280867/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/280868/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/280869/image.png)
0 Comments
Accepted Answer
Jyotsna Talluri
on 3 Apr 2020
The issue is because you are not setting the xlabel,ylabel,title to particular axis or figure. These values are automatically set for the figure that is declared recently.Instead of declaring all the figures before ,you could modify your code as below
figure_handles(1).mainfig = figure;
figure_handles(1).tabgroup = uitabgroup;
% Fig1, tab1
newtab = uitab(figure_handles(1).tabgroup, 'Title', "tab1");
ax1 = axes(newtab);
plot(ax1,rand(1,100)*10,rand(1,100)*10);
title('FIG 1')
xlabel('X label')
ylabel('Y label')
% Fig1, tab2 with legend
newtab = uitab(figure_handles(1).tabgroup, 'Title', "tab2");
ax3 = axes(newtab);
plot(ax3,rand(1,100)*10,rand(1,100)*10);
hold on
plot(ax3,rand(1,100)*10,rand(1,100)*10);
legend('1', '2')
title('FIG 1')
xlabel('X label')
ylabel('Y label')
hold off
figure_handles(2).mainfig = figure;
figure_handles(2).tabgroup = uitabgroup;
% Fig2, tab1
newtab = uitab(figure_handles(2).tabgroup, 'Title', "tab1");
ax = axes(newtab);
plot(ax,rand(1,100)*10,rand(1,100)*10);
title('FIG 2')
xlabel('X label')
ylabel('Y label')
More Answers (0)
See Also
Categories
Find more on Graphics Object Properties in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!