exponenta event banner

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 объекты. linkaxes функционируйте поддерживает 2-е Декартовские оси только.

Можно связать любое количество 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