changing titles for subplots in a for loop
    1 view (last 30 days)
  
       Show older comments
    
hello 
I have a code like this
for s=1:8;
    r=[16,81,22,87,25,90,26,91]; 
    subplot(4,2,s)
    plot(tf,Js(1:length(tf),r(s)));
    xlabel('$t_f$','interpreter','latex')
    ylabel('$J$','interpreter','latex')
end
and I want the following titles for each subplot
x/D=1,z/h=0.13    , x/D=1,z/h=0.8
x/D=4,z/h=0.13    , x/D=4,z/h=0.8
x/D=8,z/h=0.13     , x/D=8,z/h=0.8
x/D=12,z/h=0.13   , x/D=12,z/h=0.8
what is the best way for that?
thanks
0 Comments
Accepted Answer
  Adam Danz
    
      
 on 24 Dec 2019
        Use sprintf() to define the subplot titles.
titleRows = repmat([1;4;8;12],1,2).';  % x/D values
titleCols = repmat([0.13, 0.8],4,1).'; % z/h values
for s=1:8
    r=[16,81,22,87,25,90,26,91];
    subplot(4,2,s)
    plot(tf,Js(1:length(tf),r(s)));
    xlabel('$t_f$','interpreter','latex')
    ylabel('$J$','interpreter','latex')
    title(sprintf('x/D=%.0f, z/h=%.2f',titleRows(s),titleCols(s)))
end
More Answers (0)
See Also
Categories
				Find more on Subplots 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!
