Main Content

linkaxes

여러 좌표축에 대한 제한 동기화

설명

예제

linkaxes(ax)는 지정된 좌표축 벡터에 대한 제한을 동기화합니다. 제한을 동기화하면 하나의 플롯 또는 Figure에서 확대/축소하거나 패닝하고 다른 플롯 또는 Figure에서 동일한 범위의 데이터를 표시할 수 있습니다. linkaxes를 처음 호출하면 이 함수는 지정된 모든 좌표축에 대한 현재 제한을 통합하는 새 제한을 선택합니다.

예제

linkaxes(ax,dimension)은 지정된 축 차원에 대한 좌표축 제한을 동기화합니다. 예를 들어 linkaxes(ax,'x')는 x축에 대해서만 제한을 동기화합니다.

예제

모두 축소

tiledlayout 함수와 nexttile 함수를 사용하여 플롯을 타일 형식 배열로 표시합니다.

tiledlayout 함수를 사용하여 3×1 타일 형식 차트 레이아웃을 만듭니다. nexttile 함수를 사용하여 axes 객체 ax1, ax2ax3을 만들고 각 좌표축에 플로팅합니다.

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 objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line.

각 플롯의 x축 제한과 y축 제한을 동기화합니다. 참고로, 새 좌표축 제한은 이전의 제한을 통합합니다.

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

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

첫 번째 플롯의 x축 제한을 설정합니다. 모든 좌표축은 연결되어 있으므로, 두 번째 플롯과 세 번째 플롯의 x축 제한도 바뀝니다.

ax1.XLim = [0 4.5];

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

플롯 중 하나를 패닝하거나 확대하면 다른 두 개의 플롯에도 동일한 데이터 범위가 표시됩니다.

연결을 제거하려면 linkaxes([ax1 ax2 ax3],'off')를 사용하십시오.

linkaxes 함수를 사용하여 여러 axes 객체의 x축 제한을 동기화하고 수정합니다.

tiledlayout 함수와 nexttile 함수를 사용하여 플롯을 타일 형식 배열로 표시합니다. tiledlayout 함수를 사용하여 2×1 타일 형식 차트 레이아웃을 만듭니다. nexttile 함수를 사용하여 axes 객체 ax1ax2를 만들고 각 좌표축에 플로팅합니다.

t = tiledlayout(2,1);

% First plot
ax1 = nexttile;
p1 = peaks;
surf(ax1,p1);
view(3)

% Second plot
ax2 = nexttile;
p2 = peaks(25);
mesh(ax2,p2)

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

axes 객체 두 개의 x축 제한을 동기화합니다. 모든 데이터가 포함되도록 새로 연결된 axes 객체의 x축 제한이 업데이트됩니다.

linkaxes([ax1 ax2],'x');

연결된 모든 axes 객체 중 하나의 x축 제한을 설정하여 모든 axes객체의 x축 제한을 업데이트합니다.

ax1.XLim = [0 15];
ax2.XLim
ans = 1×2

     0    15

동기화를 해제하여 연결을 제거합니다.

linkaxes([ax1 ax2],'off');

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

서로 다른 표준 시간대의 datetime형 값으로 구성된 두 개 플롯을 비교할 경우 두 플롯이 모두 동일한 표준 시간대를 반영하도록 눈금자 중 하나의 ReferenceDate 속성을 설정합니다.

2021년 1월 1일 런던과 뉴욕에서 새해 첫날을 즐기는 사람들의 수를 비교하는 두 플롯을 타일 형식 배열로 만듭니다. 먼저 첫 번째 타일에서 London 데이터를 플로팅합니다. 기본적으로, 플롯은 데이터의 표준 시간대를 사용합니다.

London = datetime(2021,1,1,0:17,0,0,"TimeZone","Europe/London");
y = (1./(1:18).^2) * 100000;
ax1 = nexttile;
semilogy(ax1,London,y)
grid on
title("New Year's Day Revelers in London")

Figure contains an axes object. The axes object with title New Year's Day Revelers in London contains an object of type line.

NY 데이터를 플로팅합니다. 이 두 번째 플롯은 뉴욕의 표준 시간대를 기준으로 하므로, 눈으로 봐서는 동일한 시점에 두 위치에 있는 사람들의 수를 정확하게 비교할 수 없습니다.

NY = datetime(2021,1,1,0:17,0,0,"TimeZone","America/New_York");
ax2 = nexttile;
semilogy(ax2,NY,y)
grid on
title("New Year's Day Revelers in New York")

Figure contains 2 axes objects. Axes object 1 with title New Year's Day Revelers in London contains an object of type line. Axes object 2 with title New Year's Day Revelers in New York contains an object of type line.

x축의 기준 날짜를 "Europe/London" 표준 시간대의 datetime형 값으로 설정하여 뉴욕 플롯에 대한 표준 시간대를 변경합니다. 그런 다음 두 좌표축을 연결합니다. 그 결과, 두 플롯 모두 동일한 표준 시간대를 반영하게 됩니다.

ax2.XAxis.ReferenceDate = datetime(2022,1,1,"TimeZone","Europe/London");
linkaxes([ax1,ax2],"x")

Figure contains 2 axes objects. Axes object 1 with title New Year's Day Revelers in London contains an object of type line. Axes object 2 with title New Year's Day Revelers in New York contains an object of type line.

입력 인수

모두 축소

대상 좌표축으로, Axes 객체로 구성된 벡터로 지정됩니다.

임의 개수의 Axes 객체를 연결할 수 있습니다. 예를 들어 linkaxes([ax1 ax2 ax3])ax1, ax2, ax3을 연결합니다. linkaxes([ax1 ax2])linkaxes([ax2 ax3])을 개별적으로 호출하면 ax1ax2 사이의 연결이 취소됩니다.

동기화할 제한으로, 다음 값 중 하나로 지정됩니다.

  • 'xyz' — x축 제한, y축 제한, z축 제한을 동기화합니다.

  • 'x' — x축 제한만 동기화합니다.

  • 'y' — y축 제한만 동기화합니다.

  • 'z' — z축 제한만 동기화합니다.

  • 'xy' — x축 제한 및 y축 제한만 동기화합니다.

  • 'xz' — x축 제한 및 z축 제한만 동기화합니다.

  • 'yz' — y축 제한 및 z축 제한만 동기화합니다.

  • 'off' — 동기화를 해제합니다.

버전 내역

R2006a 이전에 개발됨

모두 확장