[데이터분석][파이썬][python] 한글 글꼴 사용 (matplotlib)

한글 글꼴 사용 (matplotlib)

Matplotlib에서 한글 글꼴을 사용하기 위한 과정을 설명한다.

한글 폰트를 사용하기 위해서는 먼저 (1) 시스템에 font를 설치해야 한다. 그 후 (2) matplotlib library가 사용할 font 정보를 update해야 할 필요가 있다. 마지막으로 python code에서 (3) 폰트를 지정하여 한글 폰트를 이용한다.

1. 한글 font 설치

한글을 이용하기 위해서는 먼저 글꼴(font)을 설치해야 한다. 여기서는 Naver의 Nanum 글꼴을 설치하는 방법을 설명한다. Nanum은 무료로 사용할 수 있는 글꼴이다. 글꼴에 대해서는 네이버의 페이지를 참고한다(Naver 글꼴 모음).

글꼴을 설치하기 위해서는 인터넷에서 글꼴을 담은 파일을 받는 과정, 받은 글꼴을 시스템의 글꼴 위치에 복사하는 과정, 시스템의 글꼴 설정을 업데이트 하는 과정이 필요하다. 아래의 명령어로 이 과정을 수행한다.

Installationcurl -o nanumfont.zip http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip
sudo unzip -d /usr/share/fonts/nanum nanumfont.zip
sudo fc-cache -f -v 

 

아래 명령어를 이용해 글꼴 설치를 확인한다. Nanum 글꼴에 대한 정보를 포함한 결과가 출력된다면 폰트가 정상적으로 설치된 것이다.

fc-list | grep Nanum
 

 

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

2. Matplotlib library font 정보 update

Matplotlib는 글꼴에 대한 정보를 보관하고 있는 cache를 이용한다. 새로 설치된 글꼴 정보를 반영하기 위해서는 이 cache를 삭제해야 한다. 아래 명령어를 실행해 matplotlib의 기존 글꼴 정보를 삭제할 수 있다.

rm ~/.cache/matplotlib/fontlist*
 

 

3. 사용법

한글 글꼴을 사용하기 위해서는 두 가지 방법이 존재한다. 기본 font를 변경하는 방법과 필요한 경우 원하는 font를 사용하는 방법이다. 아래는 두 방법에 대한 예시이다.

 1. 기본 font 변경import matplotlib.pyplot as plt
from matplotlib import rc
# 기본 글꼴을 NanumGothic으로 변경
rc('font', family='NanumGothic')
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_title('한글')
2. 필요한 경우 한글 글꼴 이용import matplotlib.pyplot as plt
# 사용할 글꼴 정보 지정
kor_ft={'font':'NanumGothic'}
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_title('한글', fontdict=kor_ft)

 

[출처] https://bdsl.jbnu.ac.kr/blog/use-korean-font-in-matplotlib/

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86756
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 79073
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95837
101 [NoSQL] 성공적인 NoSQL 도입을 위한 키포인트 : NoSQL 데이터 모델링 file 졸리운_곰 2024.08.10 1082
100 [NoSQL] [MongoDB] NOSQL 데이터 모델링 기법 살펴보기 file 졸리운_곰 2024.08.09 1004
99 [NoSQL][MongoDB] Truncate a collection 졸리운_곰 2023.06.04 1273
98 [NoSQL] MongoDB 인증 모드 (password) 설정 졸리운_곰 2023.03.26 1419
97 [NoSQL] [Redis] Redis Persistence(영속성) 졸리운_곰 2021.04.11 1646
96 [NoSQL] [Cloud] Redis 설치, 사용 방법, 데이터 백업을 위한 RDB & AOF 개념 및 간단한 Redis 사용 사례 연구 file 졸리운_곰 2021.04.11 1719
95 [mongodb , 몽고디비] How to Use MongoDB Comparison Query Operators in Java 졸리운_곰 2021.02.19 1508
94 [mongodb, 몽고디비] How do you query for “is not null” in Mongo? 졸리운_곰 2021.02.19 1272
93 [MongoDB] 확장 검색 쿼리 - Aggregation 파이프라인 스테이지(Pipline Stage)와 표현식 졸리운_곰 2021.02.16 1192
92 [MongoDB] 확장 검색 쿼리 - 범용 Aggregation 졸리운_곰 2021.02.16 1351
91 [MongoDB] 확장 검색 쿼리 - Aggregation의 목적 및 작동방식 file 졸리운_곰 2021.02.16 1070
90 [MongoDB] 확장 검색 쿼리 - 집계 파이프 라인연산자 종류 졸리운_곰 2021.02.16 1141
89 [MongoDB] 확장 검색 쿼리 - Aggregation 파이프라인 스테이지(Pipline Stage)와 표현식 졸리운_곰 2021.02.16 1301
88 [mongodb, 몽고디비 쿼리] Mongodb query on substring of a field 졸리운_곰 2021.02.16 1308
87 [mongodb]Spring boot와 mongoDB 연동하기 그리고 REST API 졸리운_곰 2021.01.21 1707
86 [WebApp / Express] 간단한 MongoDB Middleware 만들기 졸리운_곰 2020.12.29 1153
85 [mongodb] Error: network error while attempting to run command 'isMaster' on host '127.0.0.1:27017' file 졸리운_곰 2020.12.16 1450
84 [mongodb] How to Update a Document in MongoDB using Java 졸리운_곰 2020.12.14 2334
83 [Java, MongoDB] Mapping a BSON MongoDB document to a MyClass.class object? 졸리운_곰 2020.12.09 1822
82 [mongodb] MongoDB CRUD 동작의 이해 졸리운_곰 2020.12.07 1290
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED