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

기본 플로팅 함수

플롯 만들기

plot 함수는 입력 인수에 따라 다양한 형태를 가집니다.

  • y가 벡터인 경우 plot(y)y 요소 대 y 요소 인덱스의 조각별 선형 그래프를 생성합니다.

  • 두 개의 벡터를 인수로 지정하는 경우 plot(x,y)yx의 그래프를 생성합니다.

콜론 연산자를 사용하여 0부터 2π까지 범위의 x 값으로 구성된 벡터를 만들고 이들 값의 사인을 계산한 후 그 결과를 플로팅해 보겠습니다.

x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)

축 레이블과 제목을 추가합니다. xlabel 함수의 문자 \pi는 기호 π를 생성합니다. title 함수의 FontSize 속성은 제목에 사용된 텍스트의 크기를 늘립니다.

xlabel('x = 0:2\pi')
ylabel('Sine of x')
title('Plot of the Sine Function','FontSize',12)

그래프 하나에 여러 데이터 세트 플로팅

plot에 여러 x-y 쌍 인수를 지정하면 한 번 호출로 여러 개의 그래프가 생성됩니다. MATLAB®에서는 각각의 선에 서로 다른 색을 사용합니다.

예를 들어, 다음 명령문은 x 관련 함수 세 개를 플로팅합니다.

x = 0:pi/100:2*pi;
y = sin(x);
y2 = sin(x-.25);
y3 = sin(x-.5);
plot(x,y,x,y2,x,y3)

legend 함수를 사용하면 각각의 선을 쉽게 식별할 수 있습니다.

legend('sin(x)','sin(x-.25)','sin(x-.5)')

선 스타일 지정과 색 지정

plot 명령을 사용하여 데이터를 플로팅하는 경우 색, 선 스타일, 마커(예: 플러스 기호 또는 원)를 지정할 수 있습니다.

plot(x,y,'color_style_marker')

color_style_marker는 색, 선 스타일, 마커 유형을 지정하는 1~4개의 문자(작은따옴표로 묶임)를 포함합니다. 예를 들면 다음과 같습니다.

plot(x,y,'r:+')

이를 통해 데이터가 빨간색 점선으로 플로팅되고 각 데이터 점 위치에 + 마커가 표시됩니다.

color_style_marker는 다음 요소의 조합으로 구성됩니다.

유형의미
'c'
'm'
'y'
'r'
'g'
'b'
'w'
'k'
녹청색
자홍색
노란색
빨간색
녹색
파란색
흰색
검은색
선 스타일'-'
'--'
':'
'-.'
문자 없음
실선
파선
점선
일점 쇄선
선 없음
마커 유형'+'
'o'
'*'
'x'
's'
'd'
'^'
'v'
'>'
'<'
'p'
'h'
문자 없음
플러스 표시
채워지지 않은 원
별표
문자 x
채워지지 않은 사각형
채워지지 않은 다이아몬드
채워지지 않은 위쪽 방향 삼각형
채워지지 않은 아래쪽 방향 삼각형
채워지지 않은 오른쪽 방향 삼각형
채워지지 않은 왼쪽 방향 삼각형
채워지지 않은 펜타그램
채워지지 않은 헥사그램
마커 없음

선 플로팅과 마커 플로팅

마커 유형은 지정하고 선 스타일은 지정하지 않을 경우 MATLAB®은 선 없이 마커만 사용하여 그래프를 만듭니다. 예를 들면 다음과 같습니다.

plot(x,y,'ks')

이를 통해 각 데이터 점에 검은색 사각형이 플로팅되지만 마커가 선으로 연결되지는 않습니다.

다음 명령문은

plot(x,y,'r:+')

빨간색 점선을 플로팅하고 각 데이터 점 위치에 플러스 기호 마커를 표시합니다.

10번째 데이터 점 위치마다 마커 표시

이 예제에서는 선을 플로팅할 때 사용하는 것보다 적은 개수의 데이터 점을 사용하여 마커를 플로팅하는 방법을 보여줍니다. 이 예제에서는 점선 플롯과 마커 플롯에 대해 각기 다른 개수의 데이터 점을 사용하여 데이터를 두 번 플로팅합니다.

x1 = 0:pi/100:2*pi;
x2 = 0:pi/10:2*pi;
plot(x1,sin(x1),'r:',x2,sin(x2),'r+')

허수와 복소수 데이터 그래프 표시

복소수 값을 plot에 인수로 전달하면 MATLAB에서는 단일 복소수 인수가 전달되는 경우를 제외하고 허수부를 무시합니다. 이런 특별한 경우, plot 명령은 허수부 대 실수부의 그래프를 그립니다. 따라서 다음은

plot(Z)

여기서 Z는 복소수 벡터 또는 복소수 행렬이며 다음과 동일합니다.

plot(real(Z),imag(Z))

다음 명령문은 꼭짓점에 작은 원이 포함되어 있고 면이 20개인 다각형을 그립니다.

t = 0:pi/10:2*pi;
plot(exp(1i*t),'-o')
axis equal

axis equal 명령은 x축과 y축에 동일한 길이의 개별 눈금 증분을 만들며, 이를 통해 이 플롯의 형태를 보다 원에 가까워 보이도록 만듭니다.

기존 그래프에 플롯 추가

hold 명령을 사용하면 기존 그래프에 플롯을 추가할 수 있습니다. 다음을 입력하면

hold on

MATLAB에서는 사용자가 다른 플로팅 명령을 실행하더라도 기존 그래프를 대체하지 않습니다. 대신 MATLAB에서는 현재 그래프에 새 그래프를 결합합니다.

예를 들어, 다음 명령문은 먼저 peaks 함수의 곡면 플롯을 만든 다음 동일한 함수의 등고선 플롯을 그 위에 겹쳐 놓습니다.

[x,y,z] = peaks;
% Create surface plot
surf(x,y,z)
% Remove edge lines a smooth colors
shading interp
% Hold the current graph 
hold on
% Add the contour graph to the pcolor graph
contour3(x,y,z,20,'k')
% Return to default
hold off

Figure 창

플로팅 함수는 현재 생성된 Figure 창이 없는 경우 새 Figure 창을 자동으로 엽니다. 여러 Figure 창이 열려 있으면 MATLAB은 "현재 Figure"로 지정된 창(대개의 경우 마지막으로 사용된 Figure)을 사용합니다.

기존 Figure 창을 현재 Figure로 만들려면 해당 Figure 창에 포인터를 갖다 댄 상태에서 마우스를 클릭하거나, 다음을 입력합니다.

figure(n)

여기서 n은 Figure 제목 표시줄의 번호입니다.

새 Figure 창을 열고 이를 현재 Figure로 만들려면 다음을 입력하십시오.

figure

새 플롯을 위해 Figure 지우기

Figure가 이미 존재하는 경우 대부분의 플로팅 명령은 좌표축을 지우고 이 Figure를 사용하여 새 플롯을 만듭니다. 하지만 이 명령들은 배경색이나 컬러맵 같은 Figure 속성을 재설정하지는 않습니다. 이전 플롯에서 Figure 속성을 설정한 경우 clf 명령과 reset 옵션을 함께 사용할 수 있습니다.

clf reset

단, 이는 새 플롯을 만들어 Figure의 속성을 해당 디폴트 값으로 복원하기 전에 사용해야 합니다.

Figure 하나에 여러 플롯 표시

subplot 명령을 사용하면 동일한 창에 여러 개의 플롯을 표시하거나 같은 용지에 인쇄할 수 있습니다. 다음을 입력하면

subplot(m,n,p)

Figure 창이 mxn 행렬의 작은 서브플롯으로 파티셔닝되고 p번째 서브플롯이 현재 플롯으로 선택됩니다. 플롯에는 Figure 창의 행 순서에 따라 첫 번째 행부터 번호가 지정됩니다. 예를 들어, 다음 명령문은 Figure 창의 세 서브영역에 데이터를 플로팅합니다.

x = 0:pi/20:2*pi;
subplot(3,1,1); plot(sin(x))
subplot(3,1,2); plot(cos(x))
subplot(3,1,3); plot(sin(x).*cos(x))

좌표축 제어

axis 명령은 그래프의 스케일링, 방향, 종횡비를 설정하는 다양한 옵션을 제공합니다.

자동 축 제한과 눈금

기본적으로 MATLAB에서는 데이터의 최댓값과 최솟값을 찾고 이 범위를 포괄하기 위한 축 제한을 선택합니다. MATLAB에서는 제한과 축 눈금 값을 선택하여 데이터가 명확하게 표시되도록 그래프를 생성합니다. 하지만 axis 또는 xlim, ylim, 그리고 zlim 함수를 사용하여 자신만의 고유한 제한을 설정할 수도 있습니다.

참고

축 하나의 제한을 변경하면 데이터를 보다 잘 나타내도록 다른 제한도 변경될 수 있습니다. 자동 제한 설정을 비활성화하려면 axis manual 명령을 입력하십시오.

축 제한 설정

axis 명령을 사용하면 자신만의 고유한 제한을 지정할 수 있습니다.

axis([xmin xmax ymin ymax])

3차원 그래프의 경우는 다음과 같습니다.

axis([xmin xmax ymin ymax zmin zmax])

다음 명령을 사용하면

axis auto

자동 제한 선택이 다시 활성화됩니다.

축 종횡비 설정

axis 명령을 사용하면 미리 정의된 다양한 모드를 지정할 수도 있습니다. 예를 들면 다음과 같습니다.

axis square

이를 통해 x축과 y축의 길이가 같아집니다.

axis equal

이를 통해 x축과 y축에 있는 개별 눈금 증분의 길이가 같아집니다. 따라서

plot(exp(1i*(0:pi/10:2*pi)))

위의 명령문 뒤에 axis square 또는 axis equal을 사용하면 타원형이 적절한 원으로 바뀝니다.

axis auto normal

이를 통해 축 스케일링이 원래의 디폴트 자동 모드로 되돌려집니다.

축 가시성 설정

axis 명령을 사용하여 축을 표시하거나 표시하지 않을 수 있습니다.

axis on

이를 통해 축이 표시되며 이는 디폴트 값입니다.

axis off

이렇게 하면 축이 표시되지 않습니다.

그리드 선 설정

grid 명령은 그리드 선을 설정하거나 해제합니다. 다음 명령문은

grid on

그리드 선을 설정하며

grid off

위의 명령문은 그리드 선을 다시 해제합니다.

축 레이블과 축 제목 추가

이 예제에서는 그래프를 만들고 그래프의 표현을 향상시키는 방법을 보여줍니다.

  • x축과 y축 제한 정의(axis)

  • x축과 y축에 레이블 지정(xlabel, ylabel)

  • 제목 추가(title)

  • 그래프에 텍스트 메모 추가(text)

LaTeX 표기법을 사용하여 수학 기호를 생성합니다.

t = -pi:pi/100:pi;
y = sin(t);
plot(t,y)

axis([-pi pi -1 1])
xlabel('-\pi \leq {\itt} \leq \pi')
ylabel('sin(t)')
title('Graph of the sine function')
text(0.5,-1/3,'{\itNote the odd symmetry.}')

그래프에 화살표, 상자, 원을 배치하는 방법에 대한 자세한 내용은 annotation 함수를 참조하십시오.

Figure 저장

Figure를 저장하려면 파일(File) 메뉴에서 저장(Save)을 선택합니다. 그러면 Figure의 전체 창, 즉 Figure의 속성 데이터, 메뉴, uicontrol, 모든 주석이 Figure와 함께 파일에 저장됩니다. Figure를 이전에 저장한 적이 없는 경우 다른 이름으로 저장(Save As) 대화 상자가 표시됩니다. 이 대화 상자에는 Figure를 .fig 파일로 저장하거나 그래픽스 형식으로 내보내는 데 사용할 수 있는 옵션이 있습니다.

이전에 Figure를 저장한 적이 있는 경우 저장(Save)을 다시 사용하면 다른 이름으로 저장(Save As) 대화 상자가 표시되지 않고 Figure가 "그대로" 저장됩니다.

다른 응용 프로그램에서 사용하도록 Figure를 TIFF 또는 JPG 같은 표준 그래픽스 형식으로 저장하려면 파일(File) 메뉴에서 다른 이름으로 저장(Save As)(또는 추가로 제어가 필요한 경우 내보내기 설정(Export Setup))을 선택하십시오.

참고

Figure를 저장하는 데 사용할 형식을 지정할 때마다 다음 번에 해당 Figure 또는 새 Figure를 저장할 때 이 파일 형식이 다시 사용됩니다. 이전에 사용한 형식으로 저장하지 않으려면 다른 이름으로 저장(Save As)을 사용하고 파일 형식(Save as type) 드롭다운 메뉴를 저장하려는 파일 형식으로 설정해야 합니다.

다음과 같이 명령줄에서 저장할 수도 있습니다.

  • savefig 함수를 사용하여 Figure와 이 Figure에 포함된 그래픽스 객체를 .fig 파일로 저장합니다.

  • saveas 명령을 옵션과 함께 사용하여 Figure를 다양한 형식으로 저장합니다.

Figure 불러오기

다음 함수를 사용하여 Figure를 MATLAB으로 불러올 수 있습니다.

  • openfig 함수를 사용하여 .fig 파일로 저장된 Figure를 불러옵니다.

  • imread 함수를 사용하여 표준 그래픽스 파일을 MATLAB으로 읽어 들입니다(Figure 저장 포함).

MATLAB 코드를 생성하여 Figure 다시 만들기

Figure의 파일(File) 메뉴에서 코드 생성(Generate code)을 선택하여 Figure와 해당 Figure에 포함된 그래프를 다시 만드는 MATLAB 코드를 생성할 수 있습니다. 이 옵션은 플로팅 툴을 사용하여 그래프를 개발한 뒤 동일한 데이터나 다른 데이터로 유사한 그래프를 다시 만들고자 하는 경우에 특히 유용합니다.

작업 공간 데이터 저장

Figure의 파일(File) 메뉴에서 작업 공간을 다른 이름으로 저장(Save Workspace As)을 선택하여 작업 공간의 변수를 저장할 수 있습니다. 저장한 데이터를 다시 불러오려면 Figure의 파일(File) 메뉴에서 데이터 가져오기(Import Data) 항목을 사용합니다. MATLAB에서는 확장자가 .mat인 MATLAB 데이터 파일을 포함해 다양한 데이터 파일 형식을 지원합니다.