본문 바로가기
매트랩(Matlab)/매트랩 질문모음

[Matlab / 매트랩] 그래프 눈금 조정하기

by freezkim 2010. 4. 5.
Q. 그래프 눈금을 조정하고 싶은데 어떻게 해야 하나요?

그래프를 그리면 x축을 -5~5까지의 범위로 값을 1이나 0.5 크기로 줬는데, 그래프 상에서 x축은 -5,0,5만 숫자로 표시되더라고요,
실제 그래프는 1이나 0.5단위로 점을 찍는데, 축에 표시되는 숫자가 -5,0,5뿐이라 좀 이상해서요. 그래프 눈금을 조정가능한가요?

A.
예를들어 다음과 같은 그래프를 그렸다고 해봅시다.
x=[-10:0.1:10];
y=x.^2+3;
plot(x,y)

이때 결과를 보면 x축은 2단위로 눈금이 표시되어 있으며, y축은 20단위로 눈금이 표시되어 있습니다.
이 눈금의 간격을 원하는대로 조정할 수 있는데, 이때 사용되는 명령어가 set(gca,'XTick',눈금)입니다.
예컨데 -10~10까지 5의 간격으로 표시하고 싶다면
set(gca,'XTick',[-10:5:10])
이렇게 입력하시면

이렇게 5 단위로 조정이 된 것을 알 수 있죠.
마찬가지로 y축의 눈금도 조정할 수 있는데, XTick 대신에 YTick을 쓰시면 됩니다.
y축 눈금을 5단위로 주어 봤습니다.
set(gca,'YTick',[0:5:120])

꺅!! 징그러!!

네네 이렇게 눈금을 조정할 수 있을 뿐만 아니라, 원하는 이름으로 눈금을 수정하는 것도 가능합니다.
set(gca,'XTickLabel',눈금 이름)
이렇게 치시면 되는데요. XTick이 '눈금'을 나타내는 거라고 생각하시면 XTickLabel이 눈금 이름을 지정하는 거라고 생각하시면 되겠네요.
단 이때는 눈금 이름의 형식이 문자타입이여야 합니다.
위의 눈금을 [-10 -5 0 5 10] 대신에 a,b,c,d,e로 바꿔볼게요.

set(gca,'XTickLabel',{'a','b','c','d','e'})


이런식으로 바꿀 수 있습니다.
sprintf를 응용하시면  더욱 맛깔나게 XTickLabel을 이용하실수 있을거에요ㅋ