Dorulog
article thumbnail
Published 2010. 11. 24. 21:46
matlab 그래프 그리기 Life/diary
반응형

  • MATLAB에서 그래픽을 그리는 일반적인 절차

(1) plot할 데이터를 준비한다.

(2) 데이터를 plot할 그림 창을 선택하고 Single graphic으로 할 건지 Multi graphic으로 할건지를 선택한다.

(3) plot함수를 호출한다.

(4) Line이나 marker의 property를 선택한다.

(5)축의 한계값, Grid line등을 설정한다.

(6) xlabel, legend, text등으로 그래픽 객체에 라벨링을 한다.

(7) 그래픽 객체를 출력한다.

  • Line을 그리는 그래픽 함수들

 

함수 설명
plot x와 y축에 대해서 모두 선형 배율(linear scale)로 된 그래프를 그린다.
loglog x와 y축에 대해서 모두 log 배율(linear scale)로 된 그래프를 그린다.
semilogx x축에 대해서는 log 배율(linear scale)로 y축에 대해서는 선형 배율(linear scale)로 된 그래프를 그린다.
Semilogy x축에 대해서는 선형 배율(linear scale)로 y축에 대해서는 log 배율(linear scale)로 된 그래프를 그린다.
plotyy y축의 좌우에 값으로 라벨이 된 그래프를 그린다.

 

  • plot를 사용한 선 그리기

(1) 2차원 데이터의 선 그리기의 경우

plot(x,y,Color+LineStyle+Marker)

(2) 3차원 데이터의 선 그리기의 경우

plot(x,y,z,Color+LineStyle+Marker)

(3) 여러 쌍의 데이터를 하나의 그림 창에 한꺼번에 그리고 싶은 경우

plot(x1,y1,CSM1, x2,y2,CSM2,, xn,yn,CSMn,)

 

  • Line을 그리는 함수들에서 사용 가능한 선의 color

 

MATLAB에서의 symbol Color (RGB값) MATLAB에서의 symbol Color (RGB값)
c Cyan (011) g green (010)
m Magenta (101) b blue (001) (default 값)
y yellow (110) w white (111)
r red (100) k black (000)

 

  • Line을 그리는 함수들에서 사용 가능한 선의 style

 

MATLAB에서의 symbol Style MATLAB에서의 symbol Style
- Solid line (default 값) : Dotted line
Dashed line -. Dash-dot line
none No line    

 

  • Line을 그리는 함수들에서 사용 가능한 선의 marker

 

MATLAB에서의 symbol (용어) Marker Style MATLAB에서의 symbol (용어) Marker Style
+ (Plus sign) + ^ (Upward pointing triangle)
O (Circle) O v (Downward pointing triangle)
* (Asterisk) * > (Right pointing triangle)
. (Point) · < (Left pointing triangle)
X (Cross) × pentagram (Five pointed star)
square (Square) hexagram (Six pointed star)
diamond (Diamond) none No marker (default 값)

 

  • 그랙픽 객체에 라벨링을 하는 그래픽 함수들

 

함수 명 설명
title 그래프의 제목을 더한다.
xlabel x축에 라벨을 더한다.
ylabel y축에 라벨을 더한다.
zlabel z축에 라벨을 더한다.
legend 그래프에 범례를 더한다.
text 그래픽 객체의 임의의 위치에 문자열을 더한다.
gtext 마우스를 사용하여 그래픽 객체의 임의의 위치에 문자열을 더한다
grid 그래픽 객체에 격자를 더하거나 없앤다.

 

  • 극 좌표계에서의 선 그리기

polar(각도,반지름, ’Color+LineStyle+Marker’)

 

  • 좌표계의 변환

(1) 직각 좌표계에서의 데이터를 극 좌표계의 데이터로 변환 하는 함수

[각도,반지름]=cart2pol(x좌표,y좌표)

[각도,반지름,높이]=cart2pol(x좌표,y좌표,z좌표)

(2) 극 좌표계에서의 데이터를 직각 좌표계의 데이터로 변환 하는 함수

[x좌표,y좌표]= pol2cart (각도,반지름)

[x좌표,y좌표,z좌표]=pol2cart(각도,반지름,높이)

(3) 직각 좌표계에서의 데이터를 구면 좌표계의 데이터로 변환 하는 함수

[f,q,반지름]=cart2sph(x좌표,y좌표,z좌표)

(4) 구면 좌표계에서의 데이터를 직각 좌표계의 데이터로 변환 하는 함수

[x좌표,y좌표,z좌표]=sph2cart(f,q,반지름)

 

  • 마우스를 사용한 좌표 값의 입력

[x좌표,y좌표,Button]=ginput(N)

 

  • 래픽 객체를 파일로 저장하는 방법

print -f<handle> -device -options filename

 

  • 그래픽 객체를 파일로 저장하기 위한 device들

 

Device명 저장 파일 형식
Dmeta 파일 확장자가 EMF인 Meta파일 형식으로 저장한다.
Dbitmap 파일 확장자가 BMP인 Bitmap파일 형식으로 저장한다.
Dps 파일 확장자가 PS인 흑백 프린터를 위한 PostScript 파일 형식으로 저장한다. (흑백으로 저장됨)
Dpsc 파일 확장자가 PS인 칼라 프린터를 위한 PostScript 파일 형식으로 저장한다. (칼라로 저장됨)
dps2 파일 확장자가 PS인 흑백 프린터를 위한 Level 2 PostScript 파일 형식으로 저장한다. (흑백으로 저장됨)
dpsc2 파일 확장자가 PS인 칼라 프린터를 위한 Level 2 PostScript 파일 형식으로 저장한다. (칼라로 저장됨)
deps 파일 확장자가 EPS인 흑백 프린터를 위한 Encapsulated PostScript 파일 형식으로 저장한다. (흑백으로 저장됨)
depsc 파일 확장자가 EPS인 칼라 프린터를 위한 Encapsulated PostScript 파일 형식으로 저장한다. (칼라로 저장됨)
deps2 파일 확장자가 EPS인 흑백 프린터를 위한 Encapsulated Level 2 PostScript 파일 형식으로 저장한다. (흑백으로 저장됨)
depsc2 파일 확장자가 EPS인 칼라 프린터를 위한 Encapsulated Level 2 PostScript 파일 형식으로 저장한다. (칼라로 저장됨)
dhpgl 파일 확장자가 HGL인 Hewlett-Packard 7475A 플로터를 위한 HPGL파일 형식으로 저장한다.
dill 파일 확장자가 AL인 Adobe Illustrator 88 호환 파일 형식으로 저장한다.
djpeg<nn> 파일 확장자가 JPG인 JPEG 파일 형식으로 저장한다.

 

<nn>은 Jpeg파일의 질을 나타내는 것으로 0에서 100사이의 값을 가진다.

dtiff 파일 확장자가 TIF인 압축된TIFF 파일 형식으로 저장한다.
dtiffnocompression 파일 확장자가 TIF인 압축되지 않은 TIFF 파일 형식으로 저장한다.
dpng 파일 확장자가 PNG인 Portable Network Graphic 24-bit truecolor image 파일 형식으로 저장한다.
dmfile 저장할 그림 창을 다시 복원할 MATLAB의 M-file과 MAT-file을 만든다.

 

  • 그래픽 객체를 프린터로 출력하는 방법

(1) 현재 windows시스템에 설정된 기본 프린터로 현재 활성화 되어 있는 그림 창의 그래픽을 출력하는 경우

print

(2) device를 사용하여 프린터로의 출력을 제어 하는 경우

print -f<handle> -device -options

(3) 그림 창의 File 메뉴의 print관련 메뉴를 사용한다.

 

  • 그래픽 객체를 프린터로 출력하기 위한 device들

 

Device명 설명
dwin 그래픽 객체를 현재 설정된 프린터로 흑백으로 출력
Dwinc 그래픽 객체를 현재 설정된 프린터로 칼라로 출력
dsetup 출력은 하지 않고 Print Setup dialog box를 띄운다.
v 출력을 하기 위해서 Print dialog box를 띄운다.
dljet2p HP LaserJet IIP 프린터로 출력
dljet3 HP LaserJet III 프린터로 출력
ddeskjet HP DeskJet and DeskJet Plus 프린터로 출력
dcdj550 HP Deskjet 550C (UNIX only) 프린터로 출력
dpaintjet HP PaintJet color printer 프린터로 출력
dpcx24b 24-bit color PCX file format, 3 8-bit planes
dppm Portable Pixmap (plain format)

 

  • 윤곽선 그래프

(1) 2차원 데이터의 윤곽선 그래프의 경우

contour(x,y,z,N)

(2) 3차원 데이터의 윤곽선 그래프의 경우

contour3(x,y,z,N)

 

면 그래프를 그리기 위한 그래픽 함수들

 

함수 설명
mesh, surf 면 그리기
meshc, surfc contour(윤곽선,등고선)그리기가 포함된 면 그리기
meshz curtain(막)그리기가 포함된 면 그리기
pcolor 평평한 면 그리기
surf1 임의의 광원을 가진 3차원shade된 면 그리기
surface 면 그리기 (Low-level function)

 

  • 막대 그래프를 그리는 함수들

 

  2차원 3차원
수직 방향 bar bar3
수평 방향 barh barh3

 

  • 파이 챠트 그리기

(1) 2차원 파이 챠트의 경우

pie(y)

(2) 3차원 파이 챠트의 경우

pie3(y)

 

  • 히스토그램 그리기

(1) 직각 좌표계에서의 데이터의 경우

hist(y)

(2) 극 좌표계에서의 데이터의 경우

rose(theta)

 

  • stem plot

(1) 2차원 데이터의 stem plot의 경우

stem(x,y,Color+LineStyle+Marker)

(2) 3차원 데이터의 stem plot의 경우

stem3(x,y,Color+LineStyle+Marker)

 

  • 계단 그래프 그리기

stairs(x,y)

 

  • 방향 및 속도 벡터 그래프 관련 함수들

 

함수 설명
compass Polar plot의 원점으로부터 발산하는 벡터를 그린다.
feather 수평선을 따라 등 간격으로 분포된 점들로부터 연장하는 벡터를 그린다.
quiver (u,v)성분에 의해 정의 되는 2차원 벡터를 그린다.
quiver3 (u,v,w)성분에 의해 정의 되는 3차원 벡터를 그린다.

 

  • 애니메이션

(1) movie를 사용하는 방법

axis equal

 

M = moviein(n);

for j=1:n

plot_command

M(:,j) = getframe;

end

Movie(M)

 

(2) redraw 와 erase를 사용하는 방법

p=erase_mode가 사용된plot_commad

 

hold on

axis를 사용한 축의 고정

for j=1:n

변화되는 점의 계산

set(p,’x’,x,’y’,y…)

drawnow

end

 

  • 기타의 그래픽 관련 유틸리티들

(1) subplot(m,n,i) 또는 subplot(mni)

하나의 그림 창에 여러 하부 그래픽 영역을 만든다.

(2) hold on/off

이미 존재하는 그래프에 기존의 그래프를 지우지 않고 새로운 그래프를 추가한다(hold on).

(3) axis([x축의 최소값, x축의 최대값, y축의 최소값, y축의 최대값])

축의 한계값을 입력된 벡터인 [x축의 최소값, x축의 최대값, y축의 최소값, y축의 최대값]에 맞추어 바꾼다.

(4) axis on/off

Tick mark와 축의 라벨을 보이거나(axis on) 감춘다(axis off).

(5) zoom

그래프를 확대 또는 축소 시킨다.

(6) colorbar

그래픽 객체에 색의 스케일을 나타내는 bar를 추가한다.

(7) hidden on/off

은선을 보이게(hidden off) 또는 보이지 않게(hidden on) 한다

(8) view(AZ,EL)

사용자가 그래픽 객체를 바라보는 높이와 방향을 의미하는 관찰점을 변경 시킨다.

(9) colormap

그림 창에 사용된 색의 수를 나타내는 행렬 값을 제어한다.

출처

http://enddl22.net/wordpress/?p=2360

728x90

'Life > diary' 카테고리의 다른 글

선동열 감독 경질..  (0) 2010.12.31
시크릿 가든 보면서  (0) 2010.12.12
용기를 내야할때인가?  (0) 2010.10.08
Analog & digital Communications / Simon Haykin  (0) 2010.09.25
올레타임! 페이스타임  (0) 2010.09.24
profile

Dorulog

@dorudoru

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!