linkaxes

Синхронизируйте пределы нескольких осей

Описание

пример

linkaxes(ax) синхронизирует пределы заданного вектора осей. Пределы синхронизации позволяют вам масштабировать или панорамировать один график или фигуру и отображать ту же область значений данных на другом графике или рисунке. Когда вы впервые звоните linkaxesфункция выбирает новые пределы, которые включают пределы тока всех заданных осей.

пример

linkaxes(ax,dimension) синхронизирует пределы осей для заданной размерности оси. Для примера, linkaxes(ax,'x') синхронизирует пределы только для оси x.

Примеры

свернуть все

Начиная с R2019b, можно отобразить плиточное размещение графиков с помощью tiledlayout и nexttile функций. Вызовите tiledlayout функция для создания мозаичного графика размещения 3 на 1. Вызовите nexttile функция для создания объектов осей ax1, ax2, и ax3. Затем постройте график в каждой оси.

tiledlayout(3,1)

% First plot
ax1 = nexttile;
x1 = linspace(0,6);
y1 = sin(x1);
plot(x1,y1)

% Second plot
ax2 = nexttile;
x2 = linspace(0,10);
y2 = 2*sin(2*x2);
plot(x2,y2)

% Third plot
ax3 = nexttile;
x3 = linspace(0,12,200);
y3 = 4*sin(6*x3);
plot(x3,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.

Синхронизируйте пределы осей X и Y для каждого графика. Обратите внимание, что новые пределы осей включают старые пределы.

linkaxes([ax1 ax2 ax3],'xy')

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.

Установите пределы оси X для первого графика. Все оси связаны, поэтому пределы оси X на втором и третьем графиках также изменяются.

ax1.XLim = [0 4.5];

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.

Панорамирование или масштабирование одного из графиков отображает ту же область значений данных на двух других графиках.

Чтобы удалить связывание, используйте linkaxes([ax1 ax2 ax3],'off').

Создать два графика в размещении мозаики 2 на 1. Синхронизируйте пределы оси X путем вызова linkaxes функция.

x1 = linspace(0,20,100);
y1 = sin(x1);
x2 = 3:17;
y2 = rand(1,15);

% Create plots.
t = tiledlayout(2,1);
ax1 = nexttile;
plot(ax1,x1,y1)
ax2 = nexttile;
stem(ax2,x2,y2)

% Link the axes. Add title and labels.
linkaxes([ax1,ax2],'x');

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

Создайте общие метки осей X и Y путем передачи t на xlabel и ylabel функций. Удалите метки такта оси X из верхнего графика путем вызова xticklabels функция. Затем минимизируйте пространство между графиками путем установки TileSpacing свойство t на 'compact'.

xlabel(t,'Input')
ylabel(t,'Output')
xticklabels(ax1,{})
t.TileSpacing = 'compact';

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

Входные параметры

свернуть все

Целевые оси, заданные как вектор Axes объекты. The linkaxes функция поддерживает только 2-D Декартовых осей.

Вы можете связать любое количество Axes объекты. Для примера, linkaxes([ax1 ax2 ax3]) ссылки ax1, ax2, и ax3. Отдельные вызовы в linkaxes([ax1 ax2]) и linkaxes([ax2 ax3]) отменяет ссылку между ax1 и ax2.

Пределы для синхронизации, заданные как одно из следующих значений:

  • 'xy' - Синхронизируйте оба x -ось и y -ось.

  • 'x' - Синхронизируйте только пределы оси x.

  • 'y' - Синхронизируйте только пределы оси y.

  • 'off' - Отключите синхронизацию.

См. также

| | |

Представлено до R2006a