일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 머신러닝
- 등차수열
- Folium
- 파이썬
- 재귀함수
- 등비수열
- Machine Learning
- pandas 메소드
- INSERT
- tree.fit
- 자료구조
- 순열
- plt
- 문제풀이
- 조합
- numpy
- matplotlib
- barh
- pandas
- MacOS
- 통계학
- DataFrame
- Slicing
- 스터디노트
- SQL
- python
- 기계학습
- maplotlib
- pandas filter
- 리스트
Archives
- Today
- Total
코딩하는 타코야끼
[Matplotlib] 한글처리 및 환경설정 본문
728x90
반응형
1. matplotlib 한글처리
- matplotlib에 설정되있는 폰트가 한글을 지원하지 않기 때문에 그래프의 한글이 깨져서 나온다.
📍 폰트깨짐 없애기. for Mac
import matplotlib.pyplot as plt # matplotlib 설치시 혹은 터미널 시작시, 1번과 2번, 3번 명령어 입력으로 폰트깨짐 해결.(Mac 한정.)
from matplotlib import rc # 1번
rc('font', family='AppleGothic') # 2번
plt.rcParams['axes.unicode_minus'] = False # 3번
import matplotlib.pyplot as plt
plt.plot(range(-10,10))
plt.xlabel("X값")
plt.ylabel("y값")
plt.title("matplotlib.pyplot 예제")
plt.show()
📍 설정방법¶
- 설정파일을 변경한다.
- 한번만 하면 된다.
- 프로그램상에서 변경한다.
- 프로그램이 로딩 될때마다 (노트북 파일이나 파이썬 스크립트 실행시마다) 코드를 실행해야 한다.
- 전체 설정에서 변경하고 싶은 것을 재설정한다.
📍 OS에 설치된 폰트명 조회
import matplotlib as mpl
import matplotlib.font_manager as fm
🌓 폰트 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 'TrueType' in f.name.lower()]
#mac : AppleGothic
# 설정시 폰트 이름을 사용
📍 폰트등 환경 설정하기
🌓 설정파일 변경
- 한번만 하면 되므로 편리하다.
설정파일 경로찾기: matplotlib.matplotlib_fname() matplotlib 관련 전역 설정들을 찾아 바꿔준다.
- 폰트 관련 설정
🌓 상기 본인은 이와같이 설정. (Mac)
- 아래 나오는 Path(mpl-data) 까지 드래후 검색
- 'matplotlibrc' 파일 열기.
- 'font.familly' 찾은 후 AppleGothic 수정 후 앞에 주석 없애기.(Mac 한정)
- axes.unicode 검색후 값 'True'를 'False'로 수정.
- 저장
print(mpl.matplotlib_fname())
🌓 함수를 이용해 설정
- matplotlib.rcParam['설정'] = 값 으로 변경
import matplotlib as mpl
from matplotlib import font_manager as fm
# 한글 폰트 설정
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 # 반드시 하는 것 (깨지는거 방지)
반응형
'[T.I.L] : Today I Learned > Matplotlib' 카테고리의 다른 글
[Matplotlib] 4강_Pandas 시각화 (0) | 2023.05.11 |
---|---|
[Matplotlib] 3강_각종 그래프 그리기_( pie( ), hist( ), boxplot( ) ) (0) | 2023.05.11 |
[Matplotlib] 2강_각종 그래프 그리기_(Scatter Plot / Bar plot) (0) | 2023.05.09 |
[Matplotlib] 2강_각종 그래프 그리기_(Line Plot) (0) | 2023.05.09 |
[Matplotlib] 1강_Matplotlib 개요 (0) | 2023.05.09 |