이 포스팅을 보시는 분들이라면 다들 아시겠지만 MATLAB 의 그래픽 표현 능력은 정말 뛰어난 편입니다. 신호 처리를 비롯해서 많은 분야에서 그래프를 사용하고 있고~ 그런 의미에서 MATLAB 은 정말 큰 장점이 있는 툴 인 것 같습니다.

MATLAB 에서 하나의 Figure 창에 다양한 그래프를 나타내기 위해서 아래 포스팅에서 소개했던~ subplot 과 같은 함수를 사용하곤 하는데~

https://iamaman.tistory.com/101

오늘은 axis 를 사용하여 그래프 안에 조그맣게 또 다른 그래프를 그리는 방법에 대해서 소개를 하려 합니다.

샘플 코드는 아래와 같습니다.

그래프 안에 조그만 또 다른 그래프를 그리기 위해서~ axes() 함수를 사용하여 작은 그래프가 들어갈 위치를 잡아주고~ 바깥에 있는 큰 그래프와 구분해 주기위해 box on 을 했습니다.

이후에 그래프를 그리면 아래 그림과 같이 그래프 안에 또 다른 작은 그래프가 들어가는 것을 확인할 수가 있습니다.




MATLAB 을 사용하여 그래프를 그리는 경우 축을 반전해서 보는게 편한 경우가 종종 있습니다.

이런 경우에는 두가지 방법을 사용할 수 있습니다. 



아래 예에 대해 축을 반전하고 싶은 경우


x=1:0.1:10;
y=sin(x);

plot(x,y)
grid on


  • 플롯 툴을 사용하여 변경하는 방법

플롯 툴 아이콘을 클릭하여  플롯 툴을 실행 합니다. 



다음으로 그래프의 Axis 선택한 이후에 반전하고 싶은 축을 선택하고 반전에 체크를 하고 마지막으로 플롯 툴 숨기기를 클릭 합니다.
위 그림과 비교해보면 X 축의 값이 좌우가 바뀐것을 확인 할 수 있습니다.
Y 축 또는 Z 축 값을 반전하고 싶은 경우라면 아래 그림에서 X축 Y축  탭을 선택한 이후에 반전을 체크해 주면 되겠죠~ 

  • 코드 상에서 변경하는 방법

코드에서 반전 설정하는 방법은 아래와 같습니다.

x=1:0.1:10;
y=sin(x);

figure1 = figure; % 그래프 핸들 설정
axes1 = axes('Parent',figure1); % 축 설정
plot(x,y)
grid on
set(axes1,'XDir','reverse'); % axes1 축 반전, 그래프 그리는 코드 뒤에 있어야 함


위 코드에서 주석으로 밝힌 바와 같이 축을 반전 시키는 코드는 그래프 그리는 코드 뒤에 있어야 합니다. Y 축을 반전하고 싶으면 XDir 이라고 된 속성을  YDir 로 변경해 주면 되겠고 Z 축을 반전하고 싶다면 당연히  ZDir 이라고 설정해 주면 됩니다.

X, Y 축을 둘다 반전하고 싶다면 다음과 같이 설정하면 되겠고~ 

set(axes1,'XDir','reverse','YDir','reverse');


다음과 같은 그래프가 나오는 것을 확인 할 수 있습니다.

축 반전은 값이 변하는게 아니라 그래프의 축만 변화 시키는 것이므로 헷갈려서는 안 됩니다.



+ Recent posts