tiledlayout

Создайте размещенное рядом размещение графика

Описание

пример

tiledlayout(m,n) создает мозаичное размещение графика для отображения нескольких графиков в текущей фигуре. Размещение имеет фиксированный m- n расположение мозаики, которое может отобразиться до m*n plots. Если нет никакой фигуры, MATLAB® создает фигуру и помещает размещение в него. Если текущая фигура содержит существующие оси или размещение, MATLAB заменяет его на новое размещение.

Мозаичное размещение графика содержит невидимую сетку мозаик, которая покрывает целую фигуру или родительский контейнер. Каждая мозаика может содержать оси для отображения графика. После создания размещения вызовите nexttile функционируйте, чтобы поместить объект осей в размещение. Затем вызовите функцию построения графика, чтобы построить в оси.

пример

tiledlayout('flow') задает 'flow' расположение мозаики относительно размещения. Первоначально, существует только одна пустая мозаика, которая заполняет целое размещение. Как вы вызываете nexttile, обратные течения размещения по мере необходимости, чтобы вместить новые оси при поддержании соотношения сторон примерно 4:3 для всех мозаик.

пример

tiledlayout(___,Name,Value) задает дополнительные опции для размещения с помощью одного или нескольких аргументов пары "имя-значение". Задайте опции после всех других входных параметров. Например, tiledlayout(2,2,'TileSpacing','compact') создает размещение 2 на 2 с минимальным интервалом между мозаиками. Для списка свойств смотрите TiledChartLayout Properties.

пример

tiledlayout(parent,___) создает размещение в заданном родительском контейнере, а не в текущей фигуре. Задайте родительский контейнер перед всеми другими входными параметрами.

пример

t = tiledlayout(___) возвращает TiledChartLayout объект. Используйте t сконфигурировать свойства размещения после создания его.

Примеры

свернуть все

Создайте 2- 2 мозаичное размещение графика и вызов peaks функция, чтобы получить координаты предопределенной поверхности. Создайте объект осей в первой мозаике путем вызова nexttile функция. Затем вызовите surf функционируйте, чтобы построить в оси. Повторите процесс с помощью различных функций построения графика для других трех мозаик.

tiledlayout(2,2);
[X,Y,Z] = peaks(20);

% Tile 1
nexttile
surf(X,Y,Z)

% Tile 2
nexttile
contour(X,Y,Z)

% Tile 3
nexttile
imagesc(Z)

% Tile 4
nexttile
plot3(X,Y,Z)

Figure contains 4 axes objects. Axes object 1 contains an object of type surface. Axes object 2 contains an object of type contour. Axes object 3 contains an object of type image. Axes object 4 contains 20 objects of type line.

Создайте четыре координатных вектора: x, y1, y2, и y3. Вызовите tiledlayout функция с 'flow' аргумент, чтобы создать мозаичное размещение графика, которое может вместить любое количество осей. Вызовите nexttile функция, чтобы создать первые оси. Затем постройте y1 в первой мозаике. Этот первый график заполняет целое размещение.

x = linspace(0,30);
y1 = sin(x/2);
y2 = sin(x/3);
y3 = sin(x/4);

% Plot into first tile three times
tiledlayout('flow')
nexttile
plot(x,y1)

Figure contains an axes object. The axes object contains an object of type line.

Создайте вторую мозаику и оси и график в оси.

nexttile
plot(x,y2)

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

Повторите процесс, чтобы создать третий график.

nexttile
plot(x,y3)

Figure contains 3 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line.

Повторите процесс, чтобы создать четвертый график. На этот раз постройте все три графика в тех же осях путем вызова hold on после графического вывода y1.

nexttile
plot(x,y1)
hold on
plot(x,y2)
plot(x,y3)
hold off

Figure contains 4 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line. Axes object 4 contains 3 objects of type line.

Создайте пять координатных векторов: x, y1, y2, y3, и y4. Затем вызовите tiledlayout функция, чтобы создать 2- 2 размещение и задает возвращаемый аргумент, чтобы сохранить TileChartLayout объект. Вызовите nexttile функция, чтобы создать объект осей в следующей пустой мозаике прежде, чем вызвать plot функция.

x = linspace(0,30);
y1 = sin(x);
y2 = sin(x/2);
y3 = sin(x/3);
y4 = sin(x/4);
t = tiledlayout(2,2);

% Tile 1
nexttile
plot(x,y1)

% Tile 2
nexttile
plot(x,y2)

% Tile 3
nexttile
plot(x,y3)

% Tile 4
nexttile
plot(x,y4)

Figure contains 4 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line. Axes object 4 contains an object of type line.

Уменьшите сумму пробела между мозаиками путем установки TileSpacing свойство к 'compact'. Затем уменьшите пробел между ребрами размещения и ребрами фигуры путем установки Padding свойство к 'compact'.

t.TileSpacing = 'compact';
t.Padding = 'compact';

Figure contains 4 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line. Axes object 4 contains an object of type line.

Создайте 2- 2 мозаичное размещение графика t. Задайте TileSpacing аргумент пары "имя-значение", чтобы минимизировать пробел между мозаиками. Затем создайте названный график в каждой мозаике.

t = tiledlayout(2,2,'TileSpacing','Compact');

% Tile 1
nexttile
plot(rand(1,20))
title('Sample 1')

% Tile 2
nexttile
plot(rand(1,20))
title('Sample 2')

% Tile 3
nexttile
plot(rand(1,20))
title('Sample 3')

% Tile 4
nexttile
plot(rand(1,20))
title('Sample 4')

Figure contains 4 axes objects. Axes object 1 with title Sample 1 contains an object of type line. Axes object 2 with title Sample 2 contains an object of type line. Axes object 3 with title Sample 3 contains an object of type line. Axes object 4 with title Sample 4 contains an object of type line.

Отобразите разделяемый заголовок и подписи по осям путем передачи t к titlexlabel, и ylabel функции.

title(t,'Size vs. Distance')
xlabel(t,'Distance (mm)')
ylabel(t,'Size (mm)')

Figure contains 4 axes objects. Axes object 1 with title Sample 1 contains an object of type line. Axes object 2 with title Sample 2 contains an object of type line. Axes object 3 with title Sample 3 contains an object of type line. Axes object 4 with title Sample 4 contains an object of type line.

Создайте панель на рисунке. Затем создайте мозаичное размещение графика в панели путем определения объекта панели в качестве первого аргумента к tiledlayout функция. Отобразите график в каждой мозаике.

p = uipanel('Position',[.1 .2 .8 .6]);
t = tiledlayout(p,2,1);

% Tile 1
nexttile(t)
stem(1:13)

% Tile 2
nexttile(t)
bar([10 22 31 43 52])

Figure contains 2 axes objects and another object of type uipanel. Axes object 1 contains an object of type stem. Axes object 2 contains an object of type bar.

Вызовите tiledlayout функция, чтобы создать 2- 1 мозаичное размещение графика. Вызовите nexttile функция с выходным аргументом, чтобы сохранить оси. Затем постройте в оси и установите x-и цвета оси Y к красному. Повторите процесс во второй мозаике.

t = tiledlayout(2,1);

% First tile
ax1 = nexttile;
plot([1 2 3 4 5],[11 6 10 4 18]);
ax1.XColor = [1 0 0];
ax1.YColor = [1 0 0];

% Second tile
ax2 = nexttile;
plot([1 2 3 4 5],[5 1 12 9 2],'o');
ax2.XColor = [1 0 0];
ax2.YColor = [1 0 0];

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

Задайте scores и strikes как векторы, содержащие подающие шары данные лиги более чем четыре игры. Затем создайте мозаичное размещение графика и отобразите три графика, показывающие количество борьбы за каждую команду.

scores = [444 460 380 
          387 366 500 
          365 451 611 
          548 412 452];

strikes = [9  6  5  
           6  4  8 
           4  7  16  
           10 9  8];
     
t = tiledlayout('flow');

% Team 1
nexttile
plot([1 2 3 4],strikes(:,1),'-o')
title('Team 1 Strikes')

% Team 2
nexttile
plot([1 2 3 4],strikes(:,2),'-o')
title('Team 2 Strikes')

% Team 3
nexttile
plot([1 2 3 4],strikes(:,3),'-o')
title('Team 3 Strikes')

Figure contains 3 axes objects. Axes object 1 with title Team 1 Strikes contains an object of type line. Axes object 2 with title Team 2 Strikes contains an object of type line. Axes object 3 with title Team 3 Strikes contains an object of type line.

Вызовите nexttile функция, чтобы создать объект осей, который охватывает две строки тремя столбцами. Затем отобразите столбчатый график в осях с легендой и сконфигурируйте значения метки деления на оси и метки. Вызовите title функция, чтобы добавить мозаику в размещение.

nexttile([2 3]);
bar([1 2 3 4],scores)
legend('Team 1','Team 2','Team 3','Location','northwest')

% Configure ticks and axis labels
xticks([1 2 3 4])
xlabel('Game')
ylabel('Score')

% Add layout title
title(t,'April Bowling League Data')

Figure contains 4 axes objects. Axes object 1 with title Team 1 Strikes contains an object of type line. Axes object 2 with title Team 2 Strikes contains an object of type line. Axes object 3 with title Team 3 Strikes contains an object of type line. Axes object 4 contains 3 objects of type bar. These objects represent Team 1, Team 2, Team 3.

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

Задайте scores и strikes как векторы, содержащие подающие шары данные лиги более чем четыре игры. Затем создайте 3- 3 мозаичное размещение графика и отображение пять столбчатых графиков, показывающих количество борьбы за каждую команду.

scores = [444 460 380 388 389
          387 366 500 467 460
          365 451 611 426 495
          548 412 452 471 402];

strikes = [9  6  5  7  5
           6  4  8 10  7
           4  7 16  9  9
           10  9  8  8  9];
       
t = tiledlayout(3,3);

% Team 1
nexttile
bar([1 2 3 4],strikes(:,1))
title('Team 1 Strikes')

% Team 2
nexttile
bar([1 2 3 4],strikes(:,2))
title('Team 2 Strikes')

% Team 3
nexttile
bar([1 2 3 4],strikes(:,3))
title('Team 3 Strikes')

% Team 4
nexttile
bar([1 2 3 4],strikes(:,4))
title('Team 4 Strikes')

% Team 5
nexttile(7)
bar([1 2 3 4],strikes(:,5))
title('Team 5 Strikes')

Figure contains 5 axes objects. Axes object 1 with title Team 1 Strikes contains an object of type bar. Axes object 2 with title Team 2 Strikes contains an object of type bar. Axes object 3 with title Team 3 Strikes contains an object of type bar. Axes object 4 with title Team 4 Strikes contains an object of type bar. Axes object 5 with title Team 5 Strikes contains an object of type bar.

Отобразите больший график с легендой. Вызовите nexttile функционируйте, чтобы поместить левый верхний угол осей в пятой мозаике и охватить оси через две строки двумя столбцами мозаик. Постройте музыку ко всем командам. Сконфигурируйте ось X, чтобы отобразить четыре метки деления и добавить метки в каждую ось. Затем добавьте разделяемый заголовок наверху размещения.

nexttile(5,[2 2]);
plot([1 2 3 4],scores,'-.')
labels = {'Team 1','Team 2','Team 3','Team 4','Team 5'};
legend(labels,'Location','northwest')

% Configure ticks and axis labels
xticks([1 2 3 4])
xlabel('Game')
ylabel('Score')

% Add layout title
title(t,'April Bowling League Data')

Figure contains 6 axes objects. Axes object 1 with title Team 1 Strikes contains an object of type bar. Axes object 2 with title Team 2 Strikes contains an object of type bar. Axes object 3 with title Team 3 Strikes contains an object of type bar. Axes object 4 with title Team 4 Strikes contains an object of type bar. Axes object 5 with title Team 5 Strikes contains an object of type bar. Axes object 6 contains 5 objects of type line. These objects represent Team 1, Team 2, Team 3, Team 4, Team 5.

Создайте 1 2 мозаичное размещение графика. В первой мозаике отобразите географический график, содержащий линию, которая соединяет два города на карте. Во второй мозаике создайте график рассеивания в полярных координатах.

tiledlayout(1,2)

% Display geographic plot
nexttile
geoplot([47.62 61.20],[-122.33 -149.90],'g-*')

% Display polar plot
nexttile
theta = pi/4:pi/4:2*pi;
rho = [19 6 12 18 16 11 15 15];
polarscatter(theta,rho)

Один из путей, который nexttile выходной аргумент полезен, должен, когда это необходимо, настроить содержимое в предыдущей мозаике. Например, вы можете решить реконфигурировать палитру, используемую в предыдущем графике.

Создайте мозаичное размещение графика 2 на 2. Вызовите peaks функция, чтобы получить координаты для предопределенной поверхности. Затем создайте различный график поверхности в каждой мозаике.

tiledlayout(2,2);
[X,Y,Z] = peaks(20);

% Tile 1
nexttile
surf(X,Y,Z)

% Tile 2
nexttile
contour(X,Y,Z)

% Tile 3
nexttile
imagesc(Z)

% Tile 4
nexttile
plot3(X,Y,Z)

Figure contains 4 axes objects. Axes object 1 contains an object of type surface. Axes object 2 contains an object of type contour. Axes object 3 contains an object of type image. Axes object 4 contains 20 objects of type line.

Чтобы изменить палитру в третьей мозаике, получите оси в той мозаике. Вызовите nexttile функция путем определения номера мозаики, и возвращает выходной аргумент осей. Затем передайте оси colormap функция.

ax = nexttile(3);
colormap(ax,cool)

Figure contains 4 axes objects. Axes object 1 contains an object of type surface. Axes object 2 contains an object of type contour. Axes object 3 contains an object of type image. Axes object 4 contains 20 objects of type line.

Создайте 2 3 мозаичное размещение графика, содержащее два графика в отдельных мозаиках и один график, который охватывает через две строки и два столбца.

t = tiledlayout(2,3);
[X,Y,Z] = peaks;

% Tile 1
nexttile
contour(X,Y,Z)

% Span across two rows and columns
nexttile([2 2])
contourf(X,Y,Z)

% Last tile
nexttile
imagesc(Z)

Figure contains 3 axes objects. Axes object 1 contains an object of type contour. Axes object 2 contains an object of type contour. Axes object 3 contains an object of type image.

Чтобы изменить палитру для заполненных осей, идентифицируйте местоположение мозаики как один содержащий верхний левый угол осей. В этом случае верхний левый угол находится во второй мозаике. Вызовите nexttile функция с 2 как местоположение мозаики, и задают выходной аргумент, чтобы возвратить объект осей в том местоположении. Затем передайте оси colormap функция.

ax = nexttile(2);
colormap(ax,hot)

Figure contains 3 axes objects. Axes object 1 contains an object of type contour. Axes object 2 contains an object of type contour. Axes object 3 contains an object of type image.

Загрузите patients набор данных и составляет таблицу от подмножества переменных. Затем создайте 2- 2 мозаичное размещение графика. Отобразите график рассеивания в первой мозаике, тепловую карту во второй мозаике и совмещенный график через нижнюю часть две мозаики.

load patients
tbl = table(Diastolic,Smoker,Systolic,Height,Weight,SelfAssessedHealthStatus);
tiledlayout(2,2)

% Scatter plot
nexttile
scatter(tbl.Height,tbl.Weight)

% Heatmap
nexttile
heatmap(tbl,'Smoker','SelfAssessedHealthStatus','Title','Smoker''s Health');

% Stacked plot
nexttile([1 2])
stackedplot(tbl,{'Systolic','Diastolic'});

Figure contains an axes object and other objects of type . The axes object contains an object of type scatter. The chart of type heatmap has title Smoker's Health.

Вызовите nexttile, и задайте номер мозаики как 1 сделать оси в той мозаике текущей системой координат. Замените содержимое той мозаики с поля точек гистограммой.

nexttile(1)
scatterhistogram(tbl,'Height','Weight');

Figure contains objects of type . The chart of type heatmap has title Smoker's Health.

Когда это необходимо, чтобы совместно использовать шкалу палитры или легенду между двумя или больше графиками, можно поместить его в отдельную мозаику.

Создайте заполненные контурные графики peaks и membrane наборы данных в мозаичном размещении графика.

Z1 = peaks;
Z2 = membrane;
tiledlayout(2,1);
nexttile
contourf(Z1)
nexttile
contourf(Z2)

Figure contains 2 axes objects. Axes object 1 contains an object of type contour. Axes object 2 contains an object of type contour.

Добавьте шкалу палитры и переместите ее в восточную мозаику.

cb = colorbar;
cb.Layout.Tile = 'east';

Figure contains 2 axes objects. Axes object 1 contains an object of type contour. Axes object 2 contains an object of type contour.

Иногда, вы можете должны быть создать оси вручную прежде, чем вызвать функцию построения графика. Когда вы создаете оси, задаете parent аргумент как мозаичное размещение графика. Затем расположите оси путем установки Layout свойство на осях.

Создайте мозаичное размещение графика t и задайте 'flow' расположение мозаики. Отобразите график в каждой из первых трех мозаик.

t = tiledlayout('flow');
nexttile
plot(rand(1,10));
nexttile
plot(rand(1,10));
nexttile
plot(rand(1,10));

Создайте географический объект осей gax путем вызова geoaxes функционируйте и задайте t в качестве родительского аргумента. По умолчанию, оси входит в первую мозаику, так переместите ее в четвертую мозаику установкой gax.Layout.Tile к 4. Охватите оси через 2- 3 область мозаик установкой gax.Layout.TileSpan к [2 3].

gax = geoaxes(t);
gax.Layout.Tile = 4;
gax.Layout.TileSpan = [2 3];

Вызовите geoplot функция. Затем сконфигурируйте центр карты и масштабируйте уровень для осей.

geoplot(gax,[47.62 61.20],[-122.33 -149.90],'g-*')
gax.MapCenter = [47.62 -122.33];
gax.ZoomLevel = 2;

Входные параметры

свернуть все

Количество строк в виде положительного целого числа.

Пример: tiledlayout(2,3) создает мозаичное размещение графика, которое имеет две строки и три столбца мозаик.

Количество столбцов в виде положительного целого числа.

Пример: tiledlayout(2,3) создает мозаичное размещение графика, которое имеет две строки и три столбца мозаик.

Родительский контейнер в виде FigureПанель, Tab, TiledChartLayout, или GridLayout объект.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: tiledlayout(2,2,'TileSpacing','compact') создает размещение 2 на 2, которое имеет минимальный интервал между мозаиками.

Примечание

Перечисленные здесь свойства являются только подмножеством. Для полного списка смотрите TiledChartLayout Properties.

Интервал мозаики в виде 'loose', 'compact', 'tight' или 'none'. Используйте это свойство управлять интервалом между мозаиками.

Эта таблица показывает, как каждое значение влияет на внешний вид 2- 2 размещение.

ЗначениеВнешний вид

'loose'

Tiled chart layout with 'loose' tile spacing.

'compact'

Tiled chart layout with 'compact' tile spacing.

'tight'

Tiled chart layout with 'tight' tile spacing.

'none'

Tiled chart layout with 'none' tile spacing.

Дополнение вокруг периметра размещения в виде 'loose', 'compact', или 'tight'. Размещение обеспечивает пробел для всех художественных оформлений, таких как подписи по осям, независимо от значения этого свойства.

Эта таблица показывает, как каждое значение влияет на внешний вид 2- 2 размещение.

ЗначениеВнешний вид

'loose'

Tiled chart layout with 'loose' padding.

'compact'

Tiled chart layout with 'compact' padding.

'tight'

Tiled chart layout with 'tight' padding.

Вопросы совместимости

развернуть все

Поведение изменяется в R2021a

Введенный в R2019b
Для просмотра документации необходимо авторизоваться на сайте