Как дать комбинированное название для сюжетов?

Я хочу дать комбинированное название своим подсюжетам вместо того, чтобы называть каждый сюжет по отдельности. например;

for pl=1:4
      subplot(2,2,pl)
      title('Test') 
end

дает мне это: введите здесь описание изображения

Если я использую это:

figure
title('Test') 
for pl=1:4
      subplot(2,2,pl)

end

Я не получаю никакого титула.

Я хочу, чтобы мой вывод выглядел следующим образом: введите здесь описание изображения


person Sardar Usama    schedule 03.05.2016    source источник


Ответы (3)


Есть небольшая хитрость. Вы можете сделать следующее, чтобы создать фигуру с несколькими сюжетными линиями.

h = figure 
for pl=1:4
    subplot(2,2,pl)
end

После этого вы должны установить для свойства NextPlot значение 'add'. Сделай это:

h.NextPlot = 'add';
a = axes; 

%// Set the title and get the handle to it
ht = title('Test');

%// Turn the visibility of the axes off
a.Visible = 'off';

%// Turn the visibility of the title on
ht.Visible = 'on';

Надеюсь это поможет!

person Amal    schedule 03.05.2016
comment
Поскольку вы уже определили дескриптор фигуры. Вы должны использовать это. Используйте h.Name = 'Конечный горизонт'. Если вы снова используете фигуру, конечно, откроется другое окно фигуры. - person Amal; 04.05.2016

Если у вас есть инструментарий по биоинформатике, вы можете использовать suptitle. В противном случае есть отличный suplabel на файловом обмене MathWorks, который может сделать это и многое другое. .

person horchler    schedule 03.05.2016

Это моя версия решения, распечатайте ее в окне команд в Matlab:

clear all
close all
clc
name={'first', 'second', 'third', 'fourth'};
for k = 1:4
    subplot(2,2,k);
    title(name(k));
end

Результат

Надеюсь, это поможет. С уважением.

person Sergey Sigaev    schedule 03.05.2016
comment
ОП хочет, чтобы над фигурой был общий заголовок. Это помечает все подзаголовки индивидуально. Пожалуйста, внимательно прочитайте вопрос. - person rayryeng; 03.05.2016
comment
На самом деле, мое решение неверно, извините. - person Sergey Sigaev; 04.05.2016
comment
Это не проблема. В следующий раз обязательно прочитайте вопрос, прежде чем отвечать. Вы можете видеть, что ожидается от OP, а то, что вы предоставили, не соответствует. - person rayryeng; 04.05.2016