이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

yyaxis

두 개의 y축이 있는 차트 생성

설명

예제

yyaxis left는 왼쪽 y축과 연결된 현재 좌표축의 측면을 활성화합니다. 이후 그래픽스 명령은 왼쪽을 대상으로 합니다. 현재 좌표축에 두 개의 y축이 포함되어 있지 않은 경우, 이 명령은 두 번째 y축을 추가합니다. 축이 없는 경우, 이 명령은 두 개의 y축을 만듭니다.

yyaxis right는 오른쪽 y축에 연결된 현재 좌표축의 측면을 활성화합니다. 이후 그래픽스 명령은 오른쪽을 대상으로 합니다.

예제

yyaxis(ax,___)는 현재 좌표축 대신 좌표축 ax에서 활성화되는 측면을 지정합니다. 좌표축에 두 개의 y축이 포함되어 있지 않은 경우, 이 명령은 두 번째 y축을 추가합니다. 좌표축을 첫 번째 입력 인수로 지정합니다. 'left''right'에는 작은따옴표를 사용하십시오.

예제

모두 축소

왼쪽과 오른쪽 모두에 y축이 있는 좌표축을 만듭니다. 왼쪽 y축에 대해 데이터 세트를 플로팅합니다. 그런 다음 yyaxis right를 사용하여 오른쪽을 활성화하고 이후 그래픽스 함수가 오른쪽을 대상으로 할 수 있도록 합니다. 오른쪽 y축에 대해 두 번째 데이터 세트를 플로팅하고 오른쪽 y축에 대한 제한을 설정합니다.

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

z = sin(3*x).*exp(0.5*x);
yyaxis right
plot(x,z)
ylim([-150 150])

두 개의 y축이 있는 차트를 생성하고 양측에 제목과 축 레이블을 추가합니다.

예제 파일 accidents.mat에서 행렬 hwydata를 불러옵니다. 왼쪽 y축에 hwydata의 다섯 번째 열을 산점도 플롯으로 생성합니다. 제목과 축 레이블을 추가합니다.

load('accidents.mat','hwydata')
ind = 1:51;
drivers = hwydata(:,5);
yyaxis left
scatter(ind,drivers)
title('Highway Data')
xlabel('States')
ylabel('Licensed Drivers (thousands)')

오른쪽 y축에 hwydata의 일곱 번째 열을 두 번째 산점도 플롯으로 생성합니다. 그런 다음, 오른쪽 y축에 레이블을 지정합니다.

pop = hwydata(:,7);
yyaxis right
scatter(ind,pop)
ylabel('Vehicle Miles Traveled (millions)')

hold on 명령을 사용하여 왼쪽 y축에 두 개의 선을 플로팅합니다.

x = linspace(0,10);
yl1 = sin(x);
yl2 = sin(x/2);
yyaxis left
plot(x,yl1)
hold on
plot(x,yl2)

오른쪽 y축에 두 개의 선을 플로팅합니다. hold 명령은 왼쪽 y축과 오른쪽 y축 모두에 영향을 미치므로 다시 실행할 필요가 없습니다. 플로팅한 후 hold를 다시 off로 설정합니다.

yr1 = x;
yr2 = x.^2;
yyaxis right
plot(x,yr1)
plot(x,yr2)
hold off

왼쪽을 활성화한 다음, cla 명령을 사용하여 지웁니다.

yyaxis left
cla

두 개의 서브플롯이 있는 Figure를 만들고 Axes 객체를 변수 ax1ax2에 할당합니다. ax1yyaxis에 대한 첫 번째 입력값으로 지정하여 상부 서브플롯에 두 번째 y축을 추가합니다. 좌표축을 지정하지 않으면 yyaxis가 현재 좌표축에 두 번째 y축을 추가합니다.

x = linspace(1,10);
ax1 = subplot(2,1,1);
yyaxis(ax1,'left')
plot(ax1,x,sin(x))
yyaxis(ax1,'right')
plot(ax1,x,exp(x))

ax2 = subplot(2,1,2);
plot(ax2,1:10)

입력 인수

모두 축소

대상 좌표축으로, Axes 객체로 지정됩니다. Axes 객체를 지정하지 않으면 yyaxis는 현재 좌표축을 사용합니다.

제한 사항

  • 두 개의 y축을 사용할 때 다음 작업은 수행할 수 없습니다.

    • 좌표축 회전(2차원 보기에만 해당).

    • 주석 고정.

    • copyobj를 사용하여 axes 객체 복사

  • 좌표축 중 어느 쪽이 활성화되었는지 확인하려면 Axes 객체의 YAxisLocation 속성을 쿼리하십시오. 속성이 'left'로 설정되어 있으면 왼쪽이 활성화된 것이고, 'right'로 설정되어 있으면 오른쪽이 활성화된 것입니다. 두 개의 y축이 있는 Axes 객체의 YAxisLocation 속성은 읽기 전용입니다.

  • 활성화된 쪽을 지우려면 cla를 사용하십시오. 좌표축의 양쪽을 모두 지우고 오른쪽 y축을 제거하려면 cla reset을 사용하십시오. 또는 Axes 객체의 NextPlot 속성을 'replaceall'로 설정하여 다음 플로팅 명령이 양쪽을 모두 지우고 오른쪽 y축을 제거할 때까지 기다려도 됩니다.

알고리즘

모두 축소

그리드 선

그리드 선은 왼쪽 y축의 눈금 위치와 일치합니다.

색과 선 스타일

좌표축의 특정 측면에 연결된 플롯은 해당 y축과 같은 색을 사용합니다. 측면에 선이 여러 개 있으면 선 스타일 순서대로 선에 스타일이 적용됩니다. 왼쪽 y축에는 Axes 객체의 색 순서 중 첫 번째 색이 사용되고, 오른쪽 y축에는 두 번째 색이 사용됩니다.

차트가 포함된 Axes 객체에 두 번째 y축을 추가해도 기존 차트와 왼쪽 y축의 색은 변경되지 않습니다. 오른쪽 y축에는 색 순서에서 다음 색이 사용됩니다.

axes 속성

y축에 관련된 axes 속성은 두 값을 가집니다. 그러나 MATLAB®은 활성화된 쪽의 값에 대한 액세스만 제공합니다. 예를 들어, 왼쪽이 활성화된 경우 axes 객체의 YLim 속성은 왼쪽 y축의 제한을 포함합니다. 마찬가지로, 오른쪽이 활성화된 경우 YLim 속성은 오른쪽 y축의 제한을 포함합니다.

Axes 객체의 YAxis 속성이 각 y축에 대해 하나씩 두 개의 ruler 객체의 배열을 포함하는 경우는 예외입니다. 눈금자를 사용하면 어느 쪽이 활성화되었는지에 상관없이 각 y축에 액세스할 수 있습니다. 예제는 두 개의 y축을 가진 차트의 속성 수정하기 항목을 참조하십시오.

R2016a에 개발됨