how can I give each subplot a different title?

85 views (last 30 days)
Hi,
I was wondering if someone could please help me.
I would like to give my subplots the following titles: 0.4mA, 0.6mA, 0.8mA, 1.2mA and 1.6mA
My code is:
figure
for ii=1:5
subplot(5,1,ii);
bar(conRR(2:end,1), conRR(2:end, ii+1));
xticks(1:1:16);
ylim([0 80]);
end
t = sgtitle('Respiratory Rate');
t.FontSize = 13;
t.FontWeight = 'bold';
I'm currently using MATLAB R2019b.
Thanks.

Accepted Answer

Star Strider
Star Strider on 7 Jun 2020
Easiest is to use a cell array, then reference it.
Create the titles as:
sbpttl = {'0.4mA', '0.6mA', '0.8mA', '1.2mA', '1.6mA'}; % Subplot Title Cell Array
then:
conRR = [(0:10).' rand(11,5)*80]; % Create Matrix
sbpttl = {'0.4mA', '0.6mA', '0.8mA', '1.2mA', '1.6mA'}; % Subplot Title Cell Array
figure
for ii=1:5
subplot(5,1,ii);
bar(conRR(2:end,1), conRR(2:end, ii+1));
xticks(1:1:16);
ylim([0 80]);
title(sbpttl{ii})
end
t = sgtitle('Respiratory Rate');
t.FontSize = 13;
t.FontWeight = 'bold';
I created ‘conRR’ to test my code, Use your ‘conRR’ matrix for your plots.

More Answers (1)

Rafael Hernandez-Walls
Rafael Hernandez-Walls on 7 Jun 2020
figure
conRR=linspace(1,100,100);
conRR(:,2)=sin(conRR(:,1));
conRR(:,3)=sin(conRR(:,1));
conRR(:,4)=sin(conRR(:,1));
conRR(:,5)=sin(conRR(:,1));
for ii=1:5
subplot(5,1,ii);
bar(conRR(2:end,1), conRR(2:end, ii+1));
xticks(1:1:16);
ylim([0 80]);
title(['Respiratory Rate: ' num2str(ii) ]);
end
  1 Comment
NA
NA on 7 Jun 2020
Thanks for your response. The main title of the subplot would be 'Respiratory Rate'. However, I'm looking to give each subplot a title as follows: 0.4mA, 0.6mA, 0.8mA, 1.2mA and 1.6mA
i.e. 1st subplot title = 0.4mA
2nd subplot title = 0.6mA
3rd subplot title = 0.8mA
etc.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!