Отобразите данные с несколькими шкалами и пределами осей

Можно использовать множество методов, чтобы визуализировать данные с несколькими шкалами и пределами по осям. Например, можно использовать yyaxis функция создает графики с двумя y - оси. Чтобы создать графики с несколькими x - и y - оси, несколько шкал палитры, или создать график с прерывистой осью, которая повреждается на интервалы, используют tiledlayout функция.

Отобразите Данные с Двумя осями Y

Используйте yyaxis функция, чтобы создать график с двумя осями Y. Например, можно использовать две оси Y, чтобы построить два графика по различным шкалам.

Создайте объект осей и активируйте левую ось Y путем вызова yyaxis left. Затем постройте синусоиду.

figure
yyaxis left
x = linspace(0,10);
y = sin(3*x);
plot(x,y)

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

Активируйте правую ось y путем вызова yyaxis right. Затем постройте усиленную синусоиду.

yyaxis right
y2 = sin(3*x).*exp(0.5*x);
plot(x,y2)

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

Отобразите Данные с Несколькими осями X и осями Y

Начиная с 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';

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

Создайте второй объект осей и постройте второй набор данных черного цвета, а не красного цвета. Затем свойства набора на втором объекте осей переместить ось 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';

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

Отобразите Данные на графике по Прерывистой оси X

Начиная с 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];

Figure contains an axes object. The axes object is empty.

Создайте объект осей перед 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')

Figure contains 2 axes objects. Axes object 1 is empty. Axes object 2 contains 2 objects of type line, constantline.

Повторите процесс, чтобы создать другой объект осей и график для второго интервала. Оси появляются в первой мозаике по умолчанию. Переместите его во вторую мозаику путем установки 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')

Figure contains 3 axes objects. Axes object 1 is empty. Axes object 2 contains 2 objects of type line, constantline. Axes object 3 contains 2 objects of type line, constantline.

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

title(t,'Attenuated Cosine Function')

Figure contains 3 axes objects. Axes object 1 is empty. Axes object 2 contains 2 objects of type line, constantline. Axes object 3 contains 2 objects of type line, constantline.

Отобразите два набора данных с отдельными шкалами палитры

Начиная с 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)

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

Отобразите шкалу палитры с меткой для каждого объекта осей в восточной мозаике размещения. Размещение располагает шкалы палитры и сохраняет их выровненными.

cb1 = colorbar(ax1);
cb1.Layout.Tile = 'east';
cb1.Label.String = 'Time (s)';

cb2 = colorbar(ax2);
cb2.Layout.Tile = 'east';
cb2.Label.String = 'Concentration (M)';

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

Смотрите также

Функции

Похожие темы