Макет графика с мозаикой позволяет управлять размещением элементов в визуализации и создавать специальные эффекты. Эта тема охватывает четыре примера:
Размещения мозаичных графиков имеют несколько функций для представления нескольких элементов вместе под общим заголовком. В этом случае сложите шкалу палитры поверх графика под общим заголовком.
Создайте 1
-by- 1
размещение графика. Затем отобразите контурный график peaks
набор данных.
figure t = tiledlayout(1,1); nexttile contourf(peaks)
Создайте шкалу палитры цветов и задайте 'northoutside'
расположение. Затем добавьте общий заголовок, передав объект размещения, t
, к title
функция.
cb = colorbar('Location','northoutside'); title(t,'Contours of Peaks')
Размещения мозаичных графиков могут быть вложенными. Это полезно для изменения расположения плиток в размещении. В этом случае создайте два столбца с различным количеством плиток.
Создайте мозаичное размещение 1 на 2 с именем t1
. Затем создайте два вложенных размещений, t2
и t3
, где t2
находится в первой плитке t1
, и t3
находится во второй плитке. Затем отобразите два контурных графика в t2
, и добавить заголовок над графиками.
figure t1 = tiledlayout(1,2,'TileSpacing','Compact'); t2 = tiledlayout(t1,'flow','TileSpacing','Compact'); t3 = tiledlayout(t1,'flow','TileSpacing','Compact'); t3.Layout.Tile = 2; % Add two contour plots to left side [X,Y,Z] = peaks; nexttile(t2); contourf(X,Y,Z) nexttile(t2) contourf(X,Y,Z,10) title(t2,"Contours of Peaks")
Отобразите три линейных графиков в t3
, и добавить заголовок.
nexttile(t3)
plot(Z(15,:))
nexttile(t3)
plot(Z(25,:))
nexttile(t3)
plot(Z(35,:))
title(t3,"Y = -1.25, 0, and 1.25")
Плитка графика размещения состоит из сетки из плитки, окруженной четырьмя наружными плитками. Можно поместить легенды, шкалы палитры, дополнительные оси или даже вложенное размещение в любую из этих плиток. В этом случае создайте основной график в центре и используйте одну из внешних мозаик для отображения набора дополнительных графиков.
Сначала создайте матрицу синусоид и постройте их график в 1
-by- 1
размещение графика.
x = (0:0.1:10)'; y = sin([x x+1 x+2 x+3 x+4 x+5]); figure t = tiledlayout(1,1); nexttile plot(x,y)
Постройте график отдельных синусоид ниже основного графика. Для этого создайте новое размещение под названием ts
в южной плитке размещения t
. Когда вы создаете ts
, задайте 'flow'
плитка таким образом, чтобы графики заполняли всю южную плитку при каждой итерации for
цикл.
ts = tiledlayout(t,'flow'); ts.Layout.Tile = 'south'; for i=1:5 nexttile(ts); plot(x,y(:,i)) end
График может охватывать несколько фрагментов размещения. Можно использовать эту функцию для отображения основного графика с сопутствующим inset-графиком. В этом случае график вставки показывает изменение масштаба необходимой области.
Создайте график размещения с мозаикой 3 на 3 и создайте оси, охватывающее все плитки. Затем отобразите график поля точек в осях.
figure t = tiledlayout(3,3,'Padding','compact'); ax1 = nexttile(1,[3 3]); x = randn(2000,1); y = randn(2000,1); scatter(ax1,x,y,1,'filled');
Затем создайте прямоугольник, который задает необходимую область в график поля точек. Установите свойства осей в последнюю очередь, чтобы убедиться, что эти свойства сохраняются.
Задайте границы прямоугольника. Определите left
и bottom
как левые и нижние ребра прямоугольника. Задайте left
в единицах оси X и задайте bottom
в модулях по оси Y. Точно так же задайте width
и height
как ширина и высота прямоугольника, также в единицах измерения оси.
Отобразите прямоугольник. Вызовите hold
функцию, чтобы сохранить содержимое осей, и затем вызвать rectangle
функция.
Задайте свойства для осей. Установите размер шрифта равным 10
установите значения пределов по осям X и Y и включите сетку.
% Define bounds of the rectangle left = -0.5; bottom = -0.7; width = 0.4; height = 0.4; % Display the rectangle hold(ax1,'on'); r = rectangle('Position',[left bottom width height], ... 'EdgeColor','red','LineWidth',1.5); % Set properties on the axes ax1.FontSize = 10; ax1.XLim = [-4.5 4.5]; ax1.YLim = [-4.5 4.5]; grid(ax1,'on')
Отобразите меньший, масштабированный график с пределами по осям X и Y, которые соответствуют необходимой области.
Создайте оси для вида с масштабированием. Вызовите axes
функция для создания осей. Переместить оси на третью плитку путем установки Layout.Tile
свойство. Затем постройте график всех множеств x и данных y.
Настройте пределы по осям так, чтобы она совпадала с необходимой областью. Установите XLim
и YLim
свойства ax2
чтобы соответствовать необходимой области. Затем удалите такты из поля графика.
Установите другие свойства осей. Включите поле осей, установите красный цвет осей X и Y и отобразите заголовок.
% Create axes for zoomed-in view ax2 = axes(t); ax2.Layout.Tile = 3; scatter(ax2,x,y,10,'filled'); % Adjust axis limits and remove ticks ax2.XLim = [left left+width]; ax2.YLim = [bottom bottom+height]; ax2.XTick = []; ax2.YTick = []; % Set other properties on the axes ax2.Box = 'on'; ax2.XAxis.Color = 'red'; ax2.YAxis.Color = 'red'; title(ax2,'100x Magnification','Color','red');
axes
| colorbar
| tiledlayout