Problem setting axis label dimensions

2 views (last 30 days)
I would like to have a plot with two y-axes with their labels of the same dimension (24 points).
I am using this code:
figure1=figure('Color','White','Position',[1,41,1000,600],'Renderer', 'Painters')
%Label sizing
size_labels=24;
legend_label=13;
ticks_label_size=12;
%Primary axis plot
plot(age,t_set_avg,'LineWidth',1.2,'Color', [0.9290, 0.6940, 0.1250]);
hold on
ylabel('Air temperature [°C]','Fontsize',size_labels,'Fontweight','bold');
%Secondary axis plot
yyaxis right
plot(age,weight,'--','LineWidth',1.2,'Color',[0.4, 0.4, 0.4]);
a = get(gca,'XTickLabel');
set(gca,'XTickLabel',a,'fontsize',ticks_label_size,'YColor','k');
xlabel('Days of production cycle','Fontsize',size_labels,'Fontweight','bold');
ylabel('Broiler live weight [kg]','Fontsize',size_labels,'Fontweight','bold');
%Legend
legend('\theta_{set\_opt}','\theta_{set\_H}','Fontsize',legend_label);
When I check on the Property Inspector, the size of the label of secondary y-axis is 24 points (as I set) but the primary on is 13.2 points.
Where is my mistake?
Thank you for your help

Accepted Answer

ANKUR KUMAR
ANKUR KUMAR on 15 Mar 2021
figure1=figure('Color','White','Position',[1,41,1000,600],'Renderer', 'Painters')
size_labels=24;
legend_label=13;
ticks_label_size=12;
plot([1:25],randi(10,1,25),'LineWidth',1.2,'Color', [0.9290, 0.6940, 0.1250]);
hold on
ylabel('Air temperature [°C]','Fontsize',size_labels,'Fontweight','bold');
yyaxis right
plot([1:25],randi(10,1,25),'--','LineWidth',1.2,'Color',[0.4, 0.4, 0.4]);
xlabel('Days of production cycle','Fontsize',size_labels,'Fontweight','bold');
ylabel('Broiler live weight [kg]','Fontsize',size_labels,'Fontweight','bold');
legend({'\theta_{set\_opt}','\theta_{set\_H}'},'location','best','FontSize',legend_label);
Below code gives the fontsize of both ylable, and both having the same fontsize as 24.
yyaxis left
left_axis=get(gca,'ylabel');
left_axis.FontSize
yyaxis right
right_axis=get(gca,'ylabel');
right_axis.FontSize
  6 Comments
Andrea Costantino
Andrea Costantino on 16 Mar 2021
Yes it works perfectly.
Thank you so much!
Adam Danz
Adam Danz on 17 Mar 2021
Edited: Adam Danz on 17 Mar 2021
Cleaner:
yyaxis left
plot(__)
yl(1) = ylabel('Air temperature [°C]','Fontweight','bold');
yyaxis right
plot(__)
a = __
set(__)
xlabel(__)
yl(2) = ylabel('Broiler live weight [kg]','Fontweight','bold');
legend(__)
set(yl,'FontSize',24)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!