ㅅㅇ

matplotlib_ 00 한글처리 본문

AI_STUDY/데이터 시각화 Matplotlib Seaborn Pandas

matplotlib_ 00 한글처리

SO__OS 2022. 6. 14. 17:50

플레이데이터 빅데이터캠프 공부 내용 _ 6/14

Pandas_ 00 한글처리

matplotlib에 설정되있는 폰트가 한글을 지원하지 않기 때문에 그래프의 한글이 깨져서 나온다.

 < 설정방법 >

1. 설정파일을 변경한다. 
    - 현 가상환경 내 한번만 하면 된다.
2. 프로그램상에서 변경한다.
    - 프로그램이 로딩 될때마다 (노트북 파일이나 파이썬 스크립트 실행시마다) 코드를 실행해야 한다.
    - 전체 설정에서 변경하고 싶은 것을 재설정한다.
    
- 한글 설정은 보통 1번으로 한다.
- 그 외 다른 설정이 현재 실행중인 프로그램에서만 필요할 때는 2번

 

- import matplotlib & matplotlib.font_manager 

!pip show matplotlib # 설치

import matplotlib as mpl
import matplotlib.font_manager as fm

 

 

1.  OS에 설치된 폰트명 조회

 

- 폰트 cache 파일을 삭제 한다.

  =>  다음 실행 결과로 나온 디렉토리 안의 파일을  모두 삭제한다. 

# cache 파일 조회
print(mpl.get_cachedir())

 

- 전체 폰트 조회

for f in fm.fontManager.ttflist:
    print(f.name, f.fname)  # 폰트이름, 폰트파일경로

 

- 원하는 폰트명 찾기

[(f.name,f.fname) for f in fm.fontManager.ttflist if 'malg' in f.name.lower()]  
#mac : AppleGothic
# 설정시 폰트 이름을 사용

 

2.  폰트등 환경 설정하기 : 설정파일 변경

 

- 설정파일 경로찾기

print(mpl.matplotlib_fname())

=> 출력된 설정 파일 경로의 파일에 들어가 
     matplotlib 관련 전역 설정들을 찾아 바꿔준다.


- 폰트 관련 설정
```
font.family:Malgun Gothic # 한글 설정
font.size:20
axes.titlesize:30 # 그래프의 title 글씨 크기 설정
axes.labelsize:20  # 그래프의 라벨값 글씨 크기 설정
axes.unicode_minus:False # (-)값 설정  # 한글 폰트 시 - 깨지기에 한글 설정 하면 같이 해주기
xtick.labelsize:15 # 눈금에 대한 label의 글씨 크기
ytick.labelsize:15 # 눈금에 대한 label의 글씨 크기
```

- 설정 후 kernel restart 해주기

 

3.  폰트등 환경 설정하기 : 설정파일 변경

 

- matplotlib.rcParam['설정'] = 값 으로 변경
- 프로그램이 로딩 될때마다 (노트북 파일이나 파이썬 스크립트 실행시마다) 코드를 실행해야 한다. 메모리에 대한 설정이기에.

 

# 한글 폰트 설정
font_name = fm.FontProperties(fname="c:/Windows/Fonts/malgun.ttf").get_name()

# 폰트변경
mpl.rcParams["font.family"] = font_name

# 폰트 size변경
mpl.rcParams["font.size"] = 20

# x, y 축의 label 크기 변경
mpl.rcParams['axes.labelsize'] = 15

# x, y 축의 tick(눈금) label 크기 변경
mpl.rcParams['xtick.labelsize'] = 12
mpl.rcParams['ytick.labelsize'] = 12

# tick의 음수기호 '-' 가 깨지는 것 처리
mpl.rcParams['axes.unicode_minus'] = False