일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 논문작성법
- 텝스공부
- Statics
- 에러기록
- Numerical Analysis
- WOX
- MATLAB
- Python
- Linear algebra
- 수식삽입
- IEEE
- 텝스
- Zotero
- 인공지능
- 우분투
- obsidian
- 논문작성
- Dear abby
- 생산성
- 딥러닝
- 수치해석
- teps
- pytorch
- 고체역학
- 옵시디언
- ChatGPT
- LaTeX
- Julia
- JAX
- matplotlib
- Today
- Total
뛰는 놈 위에 나는 공대생
[MATLAB] 유용한 디폴트 default 속성 명령어 저장 본문
그래프를 많이 그릴 일이 있을 때 쓰면 좋은 명령어들이다.
아래의 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
'프로그래밍 Programming > 매트랩 MATLAB' 카테고리의 다른 글
[MATLAB] Legend를 사용할 때 유용한 팁 (1) 일부 legend만 표기 (0) | 2022.06.28 |
---|---|
[MATLAB] Function handle array 만들기 (0) | 2022.06.14 |
[MATLAB] 3D plot을 그릴 때 주의할 점 : X,Y축 반전 (2) | 2022.05.20 |
[MATLAB] 사용자 정의 함수 (로컬 함수, 중첩 함수, 익명 함수, 프라이빗 함수) (0) | 2022.05.17 |
[MATLAB] 그래프 제목에 LaTeX를 쓰고 싶을 때 (0) | 2022.05.08 |