How to add a title and logo to a figure with multiple plots?

16 vues (au cours des 30 derniers jours)
Frits
Frits le 28 Mar 2011
Commenté : Julius Albrecht le 2 Fév 2016
LS,
I have made a figure with four plots. Each of the plots have a title indicating what the plot shows. Is it possible to add a title above those four plots as a common title? And is it possible to add a picture (logo) next to the title? Help would be very much appreciated.
Best regards,
Frits Hermans

Réponse acceptée

Paulo Silva
Paulo Silva le 28 Mar 2011
clf
subplot(211)
plot(1,1,'*')
title('one')
subplot(212)
plot(2,2,'*')
title('two')
axh=get(gcf,'Children');
pause(2)
disp('figure created with two axes, each one with a diferent title')
disp('Now we are making both titles equal')
%this is where the magic happens
for a=1:numel(axh)
titleh=get(axh(a),'title');
set(titleh,'String','Now the axes have this title')
end
  1 commentaire
Julius Albrecht
Julius Albrecht le 2 Fév 2016
That is not a solution for the problem. He wants to add a title over all plots, not change all the specific titles at once.

Connectez-vous pour commenter.

Plus de réponses (2)

Andrew Newell
Andrew Newell le 28 Mar 2011
The title part is easy enough. Just download suplabel from the File Exchange.
EDIT: A crude way to add the logo is to select Insert -> Axes from the menu, put an axis box where you want it, then do the following:
logo = imread('logo.gif');
imshow(logo)
axes off
It may not look good, though, unless your logo is very simple. You could also create your main title using Insert -> TextBox.

Dave Welch
Dave Welch le 26 Avr 2011
Nice approach, but I don't think this is what Frits is asking. Suppose you have this code:
fHandle = figure;
hold on;
title( 'Main Title' );
for xx = 1:X
% Do some computations...
subHandle(xx) = subplot( 4, 1, xx);
title( char( sprintf( 'Subplot %d', xx ) ) );
end
The code runs fine, but the main title gets the kibosh from the subplots in the loop. I think the suplabel option is probably the best in this instance.
( Can't imagine why MATLAB hasn't addressed this issue yet. We're on what, R2010? )
  2 commentaires
Andrew Newell
Andrew Newell le 26 Avr 2011
No, R2011a.
Andrew Newell
Andrew Newell le 26 Avr 2011
Is this a comment on Paulo's answer? I have already suggested using suplabel.

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by