exponenta event banner

tiledlayout

Создать макет мозаичной диаграммы

Описание

пример

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

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

пример

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

пример

tiledlayout(___,Name,Value) задает дополнительные параметры для макета с использованием одного или нескольких аргументов пары «имя-значение». Укажите параметры после всех других входных аргументов. Например, tiledlayout(2,2,'TileSpacing','compact') создает компоновку 2 на 2 с минимальным интервалом между плитками. Список свойств см. в разделе Свойства TtingChartLayout.

пример

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. Axes 1 contains an object of type surface. Axes 2 contains an object of type contour. Axes 3 contains an object of type image. Axes 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. The axes contains an object of type line.

Создайте вторую плитку и оси и выполните печать в осях.

nexttile
plot(x,y2)

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

Повторите процесс для создания третьего графика.

nexttile
plot(x,y3)

Figure contains 3 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line. Axes 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. Axes 1 contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 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. Axes 1 contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line.

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

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

Figure contains 4 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 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. Axes 1 with title Sample 1 contains an object of type line. Axes 2 with title Sample 2 contains an object of type line. Axes 3 with title Sample 3 contains an object of type line. Axes 4 with title Sample 4 contains an object of type line.

Отображение общих меток заголовка и оси путем передачи t в title, xlabel, и ylabel функции.

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

Figure contains 4 axes. Axes 1 with title Sample 1 contains an object of type line. Axes 2 with title Sample 2 contains an object of type line. Axes 3 with title Sample 3 contains an object of type line. Axes 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 and another object of type uipanel. Axes 1 contains an object of type stem. Axes 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. Axes 1 contains an object of type line. Axes 2 contains an object of type line.

Для пролета объекта-оси из определенного местоположения укажите номер плитки и значение пролета.

Определить 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. Axes 1 with title Team 1 Strikes contains an object of type bar. Axes 2 with title Team 2 Strikes contains an object of type bar. Axes 3 with title Team 3 Strikes contains an object of type bar. Axes 4 with title Team 4 Strikes contains an object of type bar. Axes 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. Axes 1 with title Team 1 Strikes contains an object of type bar. Axes 2 with title Team 2 Strikes contains an object of type bar. Axes 3 with title Team 3 Strikes contains an object of type bar. Axes 4 with title Team 4 Strikes contains an object of type bar. Axes 5 with title Team 5 Strikes contains an object of type bar. Axes 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 аргумент output полезен, если требуется скорректировать содержимое предыдущей плитки. Например, можно изменить конфигурацию карты цветов, использованной на предыдущем графике.

Создайте компоновку мозаичной диаграммы 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. Axes 1 contains an object of type surface. Axes 2 contains an object of type contour. Axes 3 contains an object of type image. Axes 4 contains 20 objects of type line.

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

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

Figure contains 4 axes. Axes 1 contains an object of type surface. Axes 2 contains an object of type contour. Axes 3 contains an object of type image. Axes 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. Axes 1 contains an object of type contour. Axes 2 contains an object of type contour. Axes 3 contains an object of type image.

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

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

Figure contains 3 axes. Axes 1 contains an object of type contour. Axes 2 contains an object of type contour. Axes 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 and other objects of type . The axes 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. Axes 1 contains an object of type contour. Axes 2 contains an object of type contour.

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

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

Figure contains 2 axes. Axes 1 contains an object of type contour. Axes 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, Panel, Tab, TiledChartLayout, или GridLayout объект.

Аргументы пары «имя-значение»

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

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

Примечание

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

Интервал между плитками, указанный как '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