exponenta event banner

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

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

Отображение данных с двумя осями y

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

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

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

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

Печать данных по прерывистой оси X

С R2019b г.

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

Создание векторов координат x и y.

x = 0:0.1:60;
y = 4.*cos(x)./(x+2);

Создайте макет мозаичной диаграммы, содержащий две плитки, и разместите объект-ось на обеих плитках. В заключительной презентации этот объект axes появится в фоновом режиме, позади двух других объектов axis. Сечение его оси X будет видимым для придания вида одной длинной оси X.

  • Создать 1около-2 разметка мозаичной диаграммы tи укажите компактный интервал между плитками. Установка интервала между плитками позволяет управлять размером промежутка между интервалами оси X.

  • Создание осей фона bgAx путем вызова axes функция и указание t в качестве родительского объекта. Укажите аргументы «имя-значение» для удаления всех засечек и отключения поля печати.

  • Пролегайте по осям фона на обе плитки, задав значение 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. The axes 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. Axes 1 is empty. Axes 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. Axes 1 is empty. Axes 2 contains 2 objects of type line, constantline. Axes 3 contains 2 objects of type line, constantline.

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

title(t,'Attenuated Cosine Function')

Figure contains 3 axes. Axes 1 is empty. Axes 2 contains 2 objects of type line, constantline. Axes 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 colormap.

  • Создание объекта-оси ax2 и пузырьковая диаграмма с autumn colormap. Сделать этот объект оси невидимым, установив 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. The axes 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. The axes contains an object of type bubblechart.

См. также

Функции

Связанные темы