ㅅㅇ
matplotlib_ 00 한글처리 본문
플레이데이터 빅데이터캠프 공부 내용 _ 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
'AI_STUDY > 데이터 시각화 Matplotlib Seaborn Pandas' 카테고리의 다른 글
matplotlib_ 02_4 각종 그래프 그리기 _ 파이차트 (Pie Chart) (0) | 2022.06.16 |
---|---|
matplotlib_ 02_3 각종 그래프 그리기 _ 막대그래프(Bar plot) (0) | 2022.06.16 |
matplotlib_ 02_2 각종 그래프 그리기 _ 산점도 (Scatter Plot) (0) | 2022.06.16 |
matplotlib_ 02_1 각종 그래프 그리기 _ 선 그래프 (line Graph) (0) | 2022.06.15 |
matplotlib_ 01 개요 & 설정값 (0) | 2022.06.15 |