MATLAB Answers

0

Apply several properties to subplots without duplicated lines

Asked by Creatlee on 10 Aug 2017
Latest activity Commented on by Creatlee on 15 Aug 2017
Hi, I would like to make the below more succinct.
As
set(findobj(gcf,'type','axes'),'FontName','Calibri','FontSize',11,'FontWeight','Bold', 'LineWidth', 1,'layer','top');grid on
is written several times, I would like to know how to apply properties to all subplots all at once.
figure(1)
set(gcf,'position',[500 200 1000 600])
subplot(311)
stairs(A,B,'markersize',2,'marker','*','linewidth',1)
xlabel('Frequency (Hz)'),ylabel('Amplitude')
set(findobj(gcf,'type','axes'),'FontName','Calibri','FontSize',11, ...
'FontWeight','Bold', 'LineWidth', 1,'layer','top');grid on
subplot(312)
stairs(C,D,'markersize',2,'marker','*','linewidth',1)
xlabel('Frequency (Hz)'),ylabel('Amplitude')
set(findobj(gcf,'type','axes'),'FontName','Calibri','FontSize',11, ...
'FontWeight','Bold', 'LineWidth', 1,'layer','top');grid on
subplot(313)
plot(E,F,'MarkerSize',1,'LineWidth',1)
xlabel('Time [ms]'),ylabel('Amplitude')
set(findobj(gcf,'type','axes'),'FontName','Calibri','FontSize',11, ...
'FontWeight','Bold', 'LineWidth', 1,'layer','top');grid on
Thank you in advance!

  0 Comments

Sign in to comment.

Products

1 Answer

Answer by Sangeetha Jayaprakash on 14 Aug 2017
 Accepted Answer

You can just call the line "set(findobj(gcf,'type','axes'),'FontName','Calibri','FontSize',11,'FontWeight','Bold', 'LineWidth', 1,'layer','top');grid on" after all the subplots have been plotted as follows:
figure(1)
set(gcf,'position',[500 200 1000 600])
subplot(311)
stairs(A,B,'markersize',2,'marker','*','linewidth',1)
xlabel('Frequency (Hz)'),ylabel('Amplitude')
subplot(312)
stairs(C,D,'markersize',2,'marker','*','linewidth',1)
xlabel('Frequency (Hz)'),ylabel('Amplitude')
subplot(313)
plot(E,F,'MarkerSize',1,'LineWidth',1)
xlabel('Time [ms]'),ylabel('Amplitude')
set(findobj(gcf,'type','axes'),'FontName','Calibri','FontSize',11, ...
'FontWeight','Bold', 'LineWidth', 1,'layer','top');grid on
Here, "findobj(gcf,'type','axes')" will find all the axes which correspond to the current figure handle.

  1 Comment

Dear Sangeetha,
Thank you for your answer. This is what I was looking for!! Even I may use several other properties of figure based on your answer. Thank you! Have a nice day!

Sign in to comment.