일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JAX
- teps
- ChatGPT
- Python
- 수식삽입
- LaTeX
- Statics
- Linear algebra
- Julia
- 텝스
- 고체역학
- 옵시디언
- Numerical Analysis
- 논문작성법
- 논문작성
- obsidian
- MATLAB
- 에러기록
- 인공지능
- pytorch
- 텝스공부
- 딥러닝
- IEEE
- matplotlib
- Dear abby
- 생산성
- 수치해석
- Zotero
- WOX
- 우분투
- Today
- Total
뛰는 놈 위에 나는 공대생
[Python] matplotlib default 설정 본문
딥러닝 후에 visualization할 때 일일이 세팅을 정해줘야해서 번거롭다.
그래서 default setting을 위한 코드들을 미리 작성하고 필요할 때마다 복사해서 사용하고자 한다.
좋은 코드를 발견하면 계속 추가할 예정이다.
1. Grid setting
import matplotlib as mpl
# grid setting
mpl.rcParams['grid.color'] = '#808080'
mpl.rcParams['grid.linestyle'] = '--'
mpl.rcParams['grid.linewidth'] = 0.5
mpl.rcParams.update({"axes.grid" : True})
위의 세 줄은 색상, line style, linewidth에 대한 설정이다.
색상은
v.2.0에 적힌 'C0' 등을 쓰면 default로 지정된 '#1f77b4'를 쓸 수 있다.
그리고 HEX 색상 코드도 색을 지정할 때 사용할 수 있다.
위에서 나는 회색 색상을 쓰기 위해 회색에 해당하는 '#808080'을 사용했다.
2. 그래프 Font 설정
# mpl.rcParams['font.size'] = 16 # xlabel, ylabel 등에 쓰이는 font
mpl.rcParams['legend.fontsize'] = 16 # legend font size
mpl.rcParams['figure.titlesize'] = 18
mpl.rcParams['axes.titlesize'] = 18 # title font size
mpl.rcParams['lines.linewidth'] = 2.0
mpl.rcParams['axes.labelsize'] = 18
mpl.rcParams['xtick.labelsize'] = 14
mpl.rcParams['ytick.labelsize'] = 14
font.size의 경우에는 범용적으로 폰트 사이즈를 바꾸는 데 쓰이는데
다소 어떤 부분을 바꾸고 싶은지 특정하기 애매해서 주석처리했다.
3. 그래프에 LaTeX를 사용하고 싶을 때
plt.rcParams['text.usetex'] = True
그리고 실제로 LaTeX를 쓰고 싶다면 string에
plot(x,y, label=r'$\delta$)
다음과 같이 r + '$(수식)$'을 조합하여 써야한다.
4. 그래프 색깔 순서 정하고 싶을 때
from cycler import cycler
mpl.rcParams['axes.prop_cycle'] = cycler(color='brgcmyk')
이렇게 지정하면 한 figure 안에서 그래프가 생성될 때마다 brgcmyk 순서로 생성
5. 그래프 크기 정하기
# figure size
plt.rcParams["figure.figsize"] = (6.4, 4.8)
# cm단위로 쓰고 싶을 때
def cm_to_inch(value):
return value/2.54
plt.figure(figsize=(cm_to_inch(15),cm_to_inch(10)))
그래프 사이즈가 inch로 되어있어서 불편한 점이 많다.
https://sosomemo.tistory.com/62
위 글에서 픽셀 단위로 그래프 크기를 조정할 수 있는 방법에 대해 설명하므로 참고하면 좋을 것 같다.
6. 그래프 margin 제거
# tight axis
plt.rcParams['axes.xmargin'] = 0
matplotilb은 그림을 저장할 때 보면 margin을 추가한다. 그래서 그래프를 LaTeX로 그릴 때 그래프가 마진 때문에 상대적으로 작아보이는 효과가 있었다.
그래서 마진을 0으로 두었다.
7. 그래프 폰트 지정
plt.rcParams['font.family'] = 'serif'
그래프 기본 폰트도 지정할 수 있다. 자세한 내용은 동일한 블로그의 다음 글을 참고.
default 속성에 대한 더 자세한 내용을 알기 위해서는 다음 링크를 참고하도록 하자.
https://matplotlib.org/stable/users/prev_whats_new/dflt_style_changes.html#fonts
'프로그래밍 Programming > 파이썬 Python' 카테고리의 다른 글
[에러기록] Visual studio code에서 아나콘다 가상환경이 안 돌아갈 때 (0) | 2022.11.01 |
---|---|
[Matplotlib] Matplotlib savefig 기능 정리 (0) | 2022.08.21 |
[PyTorch] gradient descent로 변수를 직접 update할 때 주의할 점 (0) | 2022.07.14 |
[PyTorch] DataLoader shuffle 기능 사용 시, RuntimeError: Expected a 'cuda' device type for generator but found 'cpu' (0) | 2022.07.14 |
[PyTorch] GPU에서 텐서 사용하기 (0) | 2022.07.12 |