exponenta event banner

nexttile

Создание осей в компоновке мозаичной диаграммы

Описание

пример

nexttile создает объект axes и помещает его в следующую пустую плитку макета мозаичной диаграммы, которая находится на текущем рисунке. Если в текущем рисунке нет макета, то nexttile создает новый макет и настраивает его с помощью 'flow' расположение плитки. Результирующим объектом оси являются текущие оси, поэтому следующая команда печати может быть выведена на печать.

пример

nexttile(span) создает объект-ось, который охватывает несколько строк или столбцов сетки в центре компоновки. Определить span как вектор формы [r c]. Оси охватывают r строки по c колонны плиток. Левый верхний угол осей расположен в левом верхнем углу первого пустого rоколо-c область в сетке.

пример

nexttile(tilelocation) назначает текущие оси осями или автономная визуализация в мозаике, указанной tilelocation. Как правило, этот синтаксис полезен, если требуется изменить существующие оси или автономную визуализацию. Однако в некоторых случаях nexttile создает новый объект оси:

  • Если указанная плитка пуста, nexttile создает объект-ось в этой плитке.

  • Если указанная плитка содержит часть осей или автономный объект визуализации, но не ее верхний левый угол, nexttile заменяет существующий объект. Например, если tilelocation относится к плитке в середине объекта-оси, которая охватывает несколько плиток, nexttile заменяет существующий объект-ось новым объектом в указанной плитке.

пример

nexttile(tilelocation,span) создает объект axes, который охватывает несколько строк или столбцов, начиная с плитки, указанной в tilelocation. Если указанная плитка занята осями или автономной визуализацией, nexttile делает этот объект текущим или заменяет его:

  • Если существующие оси или автономный объект визуализации охватывают тот же набор элементов, что и tilelocation и span аргументы указать, затем nexttile делает этот объект текущими осями.

  • Если существующие оси или автономный объект визуализации охватывают другой набор элементов, чем tilelocation и span аргументы указать, затем nexttile заменяет существующий объект новым объектом осей с использованием нового tilelocation и span значения.

пример

nexttile(t,___) работает с макетом мозаичной диаграммы, указанным в t. Определить t перед всеми другими входными аргументами. Этот синтаксис полезен при работе с несколькими макетами или при размещении макета на панели или вкладке вместо фигуры.

пример

ax = nexttile(___) возвращает объект axes. Использовать ax для задания свойств осей. Вы также можете пройти ax в качестве входного аргумента для других графических функций, которые работают с объектом оси. Например, можно вызвать colormap или colororder для изменения цветовой схемы осей.

Примеры

свернуть все

Если разметка мозаичной диаграммы еще не существует, nexttile создает один.

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

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

% Plot into first tile three times
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.

Позвоните в tiledlayout для создания функции 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.

Позвоните в 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.

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

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.

Иногда перед вызовом функции печати может потребоваться создать оси вручную. При создании осей укажите 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;

Входные аргументы

свернуть все

Расположение плитки, заданное одним из значений из таблицы.

Маркированные прямоугольники в следующих примерах иллюстрируют плитки в сетке и наружные плитки макета по умолчанию TileIndexing схема. На практике сетка невидима, и внешние плитки не занимают места, пока они не будут заполнены осями. Прямоугольники с более толстыми границами отражают выбранную плитку в каждом примере.

tilelocationОписаниеПример
Положительное целое числоОдна из плиток сетки в центре макета. По умолчанию номера плиток начинаются с 1 и увеличение слева направо и сверху вниз.

Создайте компоновку 2 на 2 и выберите третью плитку в сетке.

tiledlayout(2,2)
nexttile(3)

Third tile highlighted in a 2-by-2 layout.

'north', 'south', 'east', или 'west'Одна из плиток снаружи сетки.

Создайте компоновку 2 на 2 и выберите восточную плитку, расположенную справа от сетки.

tiledlayout(2,2)
nexttile('east')

East tile highlighted in a 2-by-2 layout.

Примечание

Если указанная плитка пуста, nexttile помещает объект-ось в эту плитку. Если мозаика содержит объект-ось или автономную визуализацию, то этот объект становится текущей осью, поэтому следующая команда печати может быть выведена на печать.

Фрагмент плитки, заданный как вектор формы [r c], где r и c являются положительными целыми числами. Используйте этот аргумент для пролета осей r строки по c столбцов плиток в макете.

При указании span аргумент без tilelocation аргумент, nexttile помещает левый верхний угол осей в левый верхний угол первого пустого rоколо-c область в макете.

Однако при указании обоих параметров tilelocation и span аргументы, nexttile помещает левый верхний угол осей в левый верхний угол плитки, указанной tilelocation. Например, большие оси в правой части 3около-4 макет имеет номер плитки 2 и диапазон [2 3].

TiledChartLayout объект для размещения осей в. Этот аргумент полезен при работе с несколькими макетами или при размещении макета на панели или вкладке вместо фигуры. Если не указано t, nexttile ищет макет на текущем рисунке.

См. также

Функции

Свойства

Представлен в R2019b