Можно использовать множество методов, чтобы визуализировать данные с несколькими шкалами и пределами по осям. Например, можно использовать yyaxis
функция создает графики с двумя y - оси. Чтобы создать графики с несколькими x - и y - оси, несколько шкал палитры, или создать график с прерывистой осью, которая повреждается на интервалы, используют tiledlayout
функция.
Используйте yyaxis
функция, чтобы создать график с двумя осями Y. Например, можно использовать две оси Y, чтобы построить два графика по различным шкалам.
Создайте объект осей и активируйте левую ось Y путем вызова yyaxis left
. Затем постройте синусоиду.
figure
yyaxis left
x = linspace(0,10);
y = sin(3*x);
plot(x,y)
Активируйте правую ось y путем вызова yyaxis right
. Затем постройте усиленную синусоиду.
yyaxis right
y2 = sin(3*x).*exp(0.5*x);
plot(x,y2)
Начиная с R2019b
Чтобы построить два набора данных с отдельным x-и осями Y, создайте два отдельных объекта осей в мозаичном размещении графика. В одном из объектов осей переместите ось X в верхнюю часть поля графика и переместите ось Y в правую сторону поля графика.
Например, можно создать два графика, которые имеют различный x-и пределы оси Y.
Во-первых, создайте два множества x и y-координаты.
x1 = 0:0.1:40; y1 = 4.*cos(x1)./(x1+2); x2 = 1:0.2:20; y2 = x2.^2./x2.^3;
Создайте мозаичное размещение графика и объект осей. Затем постройте в оси:
Создайте 1
- 1
мозаичное размещение графика t
.
Создайте объект осей ax1
путем вызова axes
функция и определение t
как родительский объект.
Постройте x1
и y1
как красная линия, и задают ax1
как целевые оси.
Измените цвет оси X и оси Y, чтобы совпадать с построенной линией. При установке свойств на осях после того, как графический вывод гарантирует, что настройки сохраняются.
t = tiledlayout(1,1); ax1 = axes(t); plot(ax1,x1,y1,'-r') ax1.XColor = 'r'; ax1.YColor = 'r';
Создайте второй объект осей и постройте второй набор данных черного цвета, а не красного цвета. Затем свойства набора на втором объекте осей переместить ось X и ось Y, и гарантировать, что никакой график не затеняет другой.
Создайте объект осей ax2
путем вызова axes
функция и определение t
как родительский объект.
Постройте x2
и y2
как черная линия, и задают ax2
как целевые оси.
Переместите ось X в верхнюю часть и переместите ось Y направо.
Выберите цвет объекта осей к 'none'
так, чтобы базовый график отобразился.
Выключите поля графика, чтобы препятствовать тому, чтобы ребра поля затенили x-и оси Y.
ax2 = axes(t); plot(ax2,x2,y2,'-k') ax2.XAxisLocation = 'top'; ax2.YAxisLocation = 'right'; ax2.Color = 'none'; ax1.Box = 'off'; ax2.Box = 'off';
Начиная с R2019b
Можно использовать мозаичное размещение графика, чтобы дать внешний вид графика, который повреждается на интервалы вдоль одной оси. Например, вы можете хотеть исключить один раздел оси X, чтобы фокусироваться на других необходимых областях.
Создайте координатные векторы x
и y
.
x = 0:0.1:60; y = 4.*cos(x)./(x+2);
Создайте мозаичное размещение графика, содержащее две мозаики, и поместите объект осей через обе мозаики. В итоговой презентации этот объект осей появится в фоновом режиме позади двух других объектов осей. Раздел его оси X отобразится, чтобы дать внешний вид одной длинной оси X.
Создайте 1
- 2
мозаичное размещение графика t
, и задайте компактный интервал мозаики. Установка интервала мозаики позволяет вам управлять размером разрыва между интервалами оси X.
Создайте фоновые оси bgAx
путем вызова axes
функция и определение t
как родительский объект. Задайте аргументы name-value, чтобы удалить все метки деления и выключить поле графика.
Охватите фоновые оси через обе мозаики путем установки Layout.TileSpan
свойство bgAx
к [1 2]
.
figure t = tiledlayout(1,2,'TileSpacing','compact'); bgAx = axes(t,'XTick',[],'YTick',[],'Box','off'); bgAx.Layout.TileSpan = [1 2];
Создайте объект осей перед bgAx
в первой мозаике. Постройте X и Y и установите пределы оси X к первому интервалу:
Создайте ax1
путем вызова axes
функция и определение t
как родительский объект. По умолчанию, оси входит в первую мозаику.
Постройте X и Y в ax1
.
Вызовите xline
функционируйте, чтобы отобразить точечную вертикальную линию в верхнем пределе первого интервала.
Установите пределы оси X к первому интервалу, [0 15]
.
Добавьте подпись по осям, чтобы идентифицировать первый интервал.
ax1 = axes(t); plot(ax1,x,y) xline(ax1,15,':'); ax1.Box = 'off'; xlim(ax1,[0 15]) xlabel(ax1, 'First Interval')
Повторите процесс, чтобы создать другой объект осей и график для второго интервала. Оси появляются в первой мозаике по умолчанию. Переместите его во вторую мозаику путем установки Layout.Tile
свойство осей к 2
. Затем соедините оси так, чтобы пределы обеих осей Y соответствовали.
% Create second plot ax2 = axes(t); ax2.Layout.Tile = 2; plot(ax2,x,y) xline(ax2,45,':'); ax2.YAxis.Visible = 'off'; ax2.Box = 'off'; xlim(ax2,[45 60]) xlabel(ax2,'Second Interval') % Link the axes linkaxes([ax1 ax2], 'y')
Чтобы добавить заголовок, передайте мозаичное размещение графика title
функция.
title(t,'Attenuated Cosine Function')
Начиная с R2020b
Объект осей может вместить только одну шкалу палитры. Чтобы создать визуализацию с несколькими шкалами палитры, сложите несколько объектов осей в мозаичном размещении графика. Сделайте только одну из осей видимой, но отобразите шкалу палитры рядом с каждым из них во внешней мозаике размещения.
Создайте координатные векторы, данные о размере и цветные данные для двух пузырьковых диаграмм.
x = 1:15; n = 70 * randn(1,15) + 50; y1 = n + x.^2; y2 = n - linspace(1,225,15); sz1 = rand(1,15); sz2 = rand(1,15); c = linspace(1,10,15);
Сложите два объекта осей, каждый содержащий пузырьковую диаграмму, в мозаичном размещении графика.
Создайте 1
- 1
мозаичное размещение графика t
.
Создайте объект осей ax1 и пузырьковая диаграмма с winter
палитра.
Создайте объект осей ax2
и пузырьковая диаграмма с autumn
палитра. Сделайте этот объект осей невидимым путем установки Visible
свойство к 'off'
.
Соедините объекты осей сохранить их в синхронизации. В этом случае можно передать дочерние элементы t
к linkaxes
функция. В качестве альтернативы можно передать вектор из отдельных объектов осей к функции.
% create first bubble chart with winter colormap t = tiledlayout(1,1); ax1 = axes(t); bubblechart(ax1,x,y1,sz1,c) colormap(ax1,'winter') % create second bubble chart with autumn colormap ax2 = axes(t); bubblechart(ax2,x,y2,sz2,c) colormap(ax2,'autumn') ax2.Visible = 'off'; % link the limits of axes linkaxes(t.Children)
Отобразите шкалу палитры с меткой для каждого объекта осей в восточной мозаике размещения. Размещение располагает шкалы палитры и сохраняет их выровненными.
cb1 = colorbar(ax1); cb1.Layout.Tile = 'east'; cb1.Label.String = 'Time (s)'; cb2 = colorbar(ax2); cb2.Layout.Tile = 'east'; cb2.Label.String = 'Concentration (M)';
tiledlayout
| yyaxis
| axes