Notice
Recent Posts
Recent Comments
Link
관리 메뉴

뛰는 놈 위에 나는 공대생

[MATLAB] 유용한 디폴트 default 속성 명령어 저장 본문

프로그래밍 Programming/매트랩 MATLAB

[MATLAB] 유용한 디폴트 default 속성 명령어 저장

보통의공대생 2022. 6. 5. 17:06

그래프를 많이 그릴 일이 있을 때 쓰면 좋은 명령어들이다.

 

아래의 set( groot, ~)에서 groot 대신 0으로 지정해도 동일하다.

 

1. Plot의 line 두께 (오직 plot에만 적용된다. 즉, contour 같은 다른 그래프에서 적용 안됨)

set( groot, 'defaultLineLineWidth', 1.5 ) ; % plot line 두께 지정

2. Grid on 을 default로 지정

set( groot, 'defaultAxesXGrid', 'on' ) ; % x축 방향으로 grid 생성
set( groot, 'defaultAxesYGrid', 'on' ) ; % y축 방향으로 grid 생성

 

3. 축에 있는 글씨 크기 지정 (title 포함)

set( groot , 'defaultAxesFontSize', 12 ); % 축에 있는 글씨 크기 지정

 

4. Legend 위치 지정

 

set( groot, 'defaultLegendLocation', 'best') ; % legend 위치를 항상 최적의 자리로

 

5. 축을 항상 전체 데이터 크기에 맞게 설정 (axis tight를 일일이 쓰는 대신에 쓰는 명령어)

set( 0,'defaultAxesXLimSpec', 'tight' ) ; % X축을 항상 tight하게 설정
set( 0,'defaultAxesYLimSpec', 'tight' ) ; % Y축을 항상 tight하게 설정

 

6. 축에 있는 문자의 interpreter를 항상 LaTeX로 지정

 

set( 0,'defaultTextInterpreter','latex' ); % TEXT를 LATEX로 변환

 

7. Legend에 있는 글씨 interpreter를 LaTeX로 지정

 

set( groot, 'DefaultLegendInterpreter', 'latex' );

 

8. Title과 label을 axesfontsize의 배수로 지정

 

3번에서 보면 axes font size default값을 지정했을 것이다. 여기서 title과 xlabel, ylabel은 이 폰트 사이즈의 배수로 표현해서 지정할 수 있다. axes font size는 축에 있는 눈금의 사이즈를 결정하는 것이기 때문이다. axes font size가 title에도 영향을 미치는데 그에 대한 설명은 MATLAB의 help center에 잘 나와있다.

 

Axes 속성에서 보면 font size가 지정되면, 제목과 축 레이블은 좌표축 글꼴 크기의 110%, 즉 1.1배로 지정되어있다. 따라서 아래처럼 default 속성을 바꿔주면 title은 axes font size의 1.5배, 좌표축도 1.5배로 지정된다.

 

set( groot, 'defaultAxesTitleFontSizeMultiplier', 1.5 ) ;
set( groot, 'defaultAxesLabelFontSizeMultiplier', 1.5 ) ;

 

legend와 colorbar 폰트 크기는 axes font size의 0.9배로 지정되어있지만 바꾸고 싶다면 따로 지정해줘야한다. 나의 경우에는 fontsize를 하나 정하면 그것을 변수로 하여

 set( groot, 'defaultLegendFontSize', fontsize * 1.3 ) ;

이렇게 지정해줘야 한다. (legend는 multiplier가 없다.)

(230207 추가) defaultLegendFontSize의 경우에 위와 같이 코드를 작성해서 반영이 되지 않는 현상을 발견했다.

set(0, 'DefaultLegendFontSizeMode', 'manual' )

다음 코드를 추가해야 FontSize를 사용자가 지정한 값으로 쓴다.

 

 

9. Plot에서 Title을 bold가 아닌 normal로 사용하고 싶을 때

set(0,'DefaultAxesTitleFontWeight','normal')

기본적으로 title이 bold체가 되어있어서 이렇게 바꿀 수 있다.

 

 

default 속성을 확인하는 방법

get(0, 'default')

 

default 속성 제거하기

 

set(groot,'defaultSurfaceEdgeColor','remove')

 

 

참고하면 좋은 문서

https://kr.mathworks.com/help/matlab/creating_plots/default-property-values.html

 

디폴트 속성값 - MATLAB & Simulink - MathWorks 한국

다음 MATLAB 명령에 해당하는 링크를 클릭했습니다. 명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.

kr.mathworks.com

 

 

Comments