티스토리 뷰
% * MATLAB에서의 그래픽
%
% * 2차원 그래픽
% - 2차원 그래픽을 그리는 절차
% (1) plot할 데이터를 준비한다
% (2) 데이터를 plot할 그림 창을 선택하고 single graphic으로 할건지 multi graphic
% 으로 할건지를 선택한다.
% (3) plot 함수를 호출한다.
% (4) line이나 marker의 property를 선택한다.
% (5) 축의 한계값, Grid line등을 설정한다.
% (6) xlabel, legend, text 등으로 그래픽 객체에 라벨링을 한다.
% (7) 그래픽 객체를 출력한다.
%
% - 새로운 plot을 할 Figure를 생성
% + Single-graphic 객체
% >> figure(1) -> Figure No. 1의 새로운 그림창을 생성한다.
% >> figure(3) -> Figure No. 3의 새로운 그림창을 생성한다.
% + Multi-graphic 객체
% >> subplot(m,n,i)
% or >> subplot(mni)
% -> 하나의 창에 m행 n열로 나누고 i번째에 그림을 활성화 시킨다.
%
% subplot(221) | subplot(222)
% -------------------+-----------------------
% subplot(223) | subplot(224)
%
% - plot 함수 호출 >>plot(x,y)
% + line이나 marker의 property 선택
% >> set(plot(x,y),'linestyle','--')
% + 축의 한계값과 grid line 설정
% >> axis([1 5 -0.5 0]) -> 범위 [x_min x_max y_min y_max]
% >> grid on -> 그리드를 설정한다. 해제는 grid off
% + 그래픽 객체에 라벨링 한다.
% >> xlabel('x') -> x축에 'x'를 라벨링한다.
% >> ylabel('y') -> y축에 'y'를 라벨링한다.
% >> title('Plotting x and y') -> 제목을 붙인다.
% - 기본적인 그래픽 함수들과 plot의 제어
% + plot : x와 y축에 대해서 모두 선형 배율로 된 그래프를 그린다.
% + loglog : x와 y축에 대해서 모두 log배율로 된 그래프를 그린다.
% + semilogx : x축에 대해서는 log배율로 y축에대해서는 선형 배율로 된 그래플르 그린다.
% + semilogy : x축에 대해서는 선형 배율로 y축에대해서는 log배율로 된 그래플르 그린다.
% + plotyy : y축의 좌우에 값으로 라벨이 된 그래프를 그린다.
% - 가능한 선의 color
% + c : Cyan(011)
% + m : Magenta(101)
% + y : yellow(110)
% + r : red(100)
% + g : green(010)
% + b : blue(001) -> default value
% + w : white(111)
% + k : black(000)
% - 가능한 선의 style
% + '-' : Solid line -> default value
% + '--' : Dashed line
% + ':' : Dotted line
% + '-.' : Dash-dot line
% + 'none' : no line
% - 가능한 선의 marker
% + '+' : +(Plus sign)
% + '^' : △(Upward pointing triangle)
% + 'o' : ○(Circle)
% + '*' : *(Astrisk)
% + 'v' : ▽(Downward pointing triangle)
% + '>' : ▷(Right pointing triangle)
% + '<' : ◁(Left pointing triangle)
% + '.' : .(Point)
% + 'X' : ×(Cross)
% + 'Square' : □(square)
% + 'pentagram' : ☆(Five pointed star)
% + 'hexagram' : *(Six pointed star)
% + 'Diamond' : ◇(diamond)
% + 'none' : No Marker -> default value
% - 여러쌍의 데이터를 하나의 그림 창에 한꺼번에 그리기
% + plot(x1,y1,'color+style+marker1',x2,y2,'color+style+marker2', ... )
% (참고) 복소수 z=x+yi 형식으로 표현한다.
% + isreal(x) : 실수인지 아닌지를 판별
% + real(x) : 실수부 값을 출력
% + imag : 허수부 값을 출력
% - 이미 존재하는 그래프에 새로운 그래프 추가하기
% + hold on : 그래프를 추가해서 그릴 수 있게 변환 (반대 >> hold off)
% - 축의 Tick Mark 조정
% + set(gca,'xtick',v) 또는 set(gca,'ytick',v)
% -> x또는 y축의 tick mark를 변경 v는 벡터로써 각 축에 marking 할 데이터를 나타낸다.
% ex) set(gca,'xtick',[-1.0 -0.5 0 0.5 1.0];
%
% - 그래픽 객체의 라벨링 관련 함수
% + title : 그래프의 제목을 더한다.
% + xlabel : x축에 라벨을 더한다.
% + ylabel : y축에 라벨을 더한다.
% + zlabel : z축에 라벨을 더한다.
% + legend : 그래프에 범례를 더한다.
% -> legend('문자열1','문자열2', ... ,'문자열n', 정수)
% -> 정수는 위치를 나타낸다. [on/off]
% location:
% 0 = Automatic "best" placement (least conflict with data)
% 1 = Upper right-hand corner (default)
% 2 = Upper left-hand corner
% 3 = Lower left-hand corner
% 4 = Lower right-hand corner
% -1 = To the right of the plot
% + text : 그래픽 개체의 임의의 위치에 문자열을 더한다.
% -> text(x좌표,y좌표,'문자열')
% -> x,y좌표에 문자열을 프린트한다.
% -> 3차원인 경우 x,y,z로 사용
% + gtext : 마우스를 사용하여 그래픽 객체의 임의의 위치에 문자열을 더한다.
% -> gtext('문자열')
% -> 마우스로 클릭한 곳에 문자열이 출력된다.
% + grid : 그래픽 객체에 격자를 더하거나 없앤다.[on off]
% -> x축의 grid만 사용할 때 >>set(gca,'xgrid','on')
%
% - 그래프에서 사용되는 특수문자(따로 첨부)
%
% - 극좌표계의 plot
% + polar(각도,반지름,'Color+Linestyle+marker')
% -> 각조와 반지름을 이용하여 극좌표계에 좌표를 표현한다.
% + polar(vector A)=polar(vector A,vector A)와 같다.
%
% - 좌표계의 변환
% + 직각좌표계->극좌표계
% >> [각도,반지름]=cart2pol(x좌표,y좌표)
% >> [각도,반지름,높이]=cart2pol(x,y,z)
% + 극좌표계->직각좌표계
% >> [x,y]=pol2cart(각도,반지름)
% >> [x,y,z]=pol2cart(각도,반지름,높이)
% + 직각좌표계->구좌표계
% >> [φ,θ,반지름]=cart2sph(x,y,z)
% + 구좌표계->직각좌표계
% >> [x,y,z]=sph2cart(φ,θ,반지름)
%
% - 마우스를 사용한 좌표 값 입력
% + [x,y,button]=ginput(N)
% -> 마우스로 클릭한 좌표의 값을 N번 받아서 x,y,button의 각 벡터 값으로 받는다.
% button :
% 1 : 마우스 왼쪽 버튼
% 2 : 마우스 왼쪽과 오른쪽 버튼 동시
% 3 : 마우스 오른쪽 버튼
%
% - 그래픽 객체를 파일로 저장하는 방법
% >> print -f<handle> -device -options filename
% -> 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 postscipt파일
% 형식으로 저장 (흑백으로 저장)
% + depsc : 파일 확장자가 EPS인 칼라 프린터를 위한 encapsulated postscipt파일
% 형식으로 저장 (칼라로 저장)
% + depsc2 : 파일 확장자가 EPS인 칼라 프린터를 위한 Encapsilated level 2 postscript 파일
% 형식으로 저장한다.(칼라로 저장됨)
% + dhpql : 파일 확장자가 HGL인 Hewlett-Packard 7475A 플로터를 위한 HPGL파일 형식으로
% 으로 저장
% + dill : 파일 확장자가 AL인 Adobe Iillustor 88호환 파일 형식으로 저장한다.
% + djpeg<nn> : 파일 확장자가 JPG인 JPEG파일 형식으로 저장한다.
% <nn>은 Jpeg파일의 질을 나타내는 것으로 0에서 100사이의 값을 가진다.
% + dtiff : 파일 확장자가 TIF인 압축된 TIFF 파일 형식으로 저장한다.
% + Dtiffnocompression : 파일 확장자가 TIF인 압축되지 않은 TIFF파일 형식으로 저장한다.
% + dpng : 파일 확장자가 PNG인 portable Netwoprk Graphic 24-bit image파일 형식으로 저장
% + dmfile : 저장할 그림 창을 다시 복원 할 MATLAB의 M-File과 MAT-file을 만든다.
% - 그래픽 개체를 프린터로 출력하는 방법
% (1) 현재 windows시스템에 설정된 기본 프린터로 현재 활성화되어 있는 그림창의 그래픽을
% 출력하는 경우 print
% (2) device를 사용하여 프린터로의 출력을 제어하는 경우
% print -f<handle> -device -options
% (3) 그림 창의 File메뉴의 print관련 메뉴를 사용한다.
% - 윤곽선 그래프
% >> contour(x,y,N) ->2차원
% >> contour3(x,y,z,N) ->3차원
% - 면 그래프를 그리기 위한 그래픽 함수
% + mesh, surf : 면 그리기
% + meshc, surfc : contour(윤곽선, 등고선) 그리가 포함된 면 그리기
% + meshz : curtain(막)그리기가 포함된 면 그리기
% + pcolor : 평평한 면 그리기
% + surfl : 임의의 관원을 가진 3차원 shade된 면 그리기
% + surface : 면그리기(low-level function)
% - 막대 그래프를 그리는 함수들
% + 수직방향 : bar , bar3
% + 수평방향 : barh, barh3
% - 파이 차트 그리기
% >> pie(y)
% >> pie3(y)
% - 히스토그램 그리기
% + 직각좌표계에서의 데이터의 경우 >> hist(y)
% + 극 좌표계에서의 데이터의 경우 >> rose(theta)
% - 2차원 데이터의 stem plot의 경우
% >> stem(x,t,'color+linestyle+marker') ->2차원
% >> stem3(x,y,z,'color+linestyle+marker') -> 3차원
% - 계단 그래프 그리기 >>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_command
% hold on
% axis를 사용한 축의 고정
% for j=1:n
% 변화되는 점의 계산
% set(p,'x',x,'y',y ...)
% drawnow
% end
'Mathematics > MATLAB' 카테고리의 다른 글
1.3 (예) 마우스로 좌표를 입력 받아 spline곡선 그리기 (0) | 2008.08.18 |
---|---|
1.2 연습문제 (0) | 2008.08.18 |
1.2 MATLAB에서의 기본적인 연산 (0) | 2008.08.18 |