안녕하세요. 비스카이비전입니다. 오늘은 리눅스 우분투 운영체제에서 matplotlib로 그래프를 그릴 때 한글 깨짐 현상에 대한 해법에 대해 알아보도록 하겠습니다. 윈도우 PC에서의 matplotlib 한글 깨짐 문제 해결법은 링크 글을 확인하세요.
우분투 matplotlib 한글 깨짐 해결법
1) 우선 한글 폰트를 우분투에 설치해야 합니다. 네이버가 개발해서 배포한 나눔 폰트를 설치하겠습니다. 우분투 터미널에 다음과 같은 명령어를 입력해주세요. *를 붙인 이유는 fonts-nanum으로 시작하는 모든 폰트를 설치하기 위함입니다.
sudo apt-get install fonts-nanum*
2) 그 다음에는 fc-cache 명령어를 활용하여 폰트 캐시(cache)를 갱신해줍니다. 참고로 fc는 fontconfig의 약자입니다.
sudo fc-cache -fv
-f 옵션을 붙이면 캐시를 강제로 갱신해주고, -v 옵션을 붙이면 상태 정보를 보여줍니다.
3) 나눔 폰트가 잘 설치되었는지 확인하기 위해 fc-list 명령어로 폰트 리스트를 출력합니다.
sudo fc-list
나눔이 들어간 폰트가 여러 개 있으면 제대로 설치된 거라 생각하셔도 좋습니다.
4) 그 다음에는 matplotlib 라이브러리의 캐시를 삭제합니다.
rm -rf ~/.cache/matplotlib/*
5) 이제 파이썬 스크립트 상단에 폰트 설정 코드를 넣어줍니다.
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'NanumGothic'
6) 한글 깨짐 문제가 해결되었는지 그래프를 그려 확인해봅니다.
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'NanumGothic'
plt.plot([-4, -3, -2, -1, 0, 1, 2, 3, 4], [12, 32, -4, 0, 5, 2, 19, 9, 3])
plt.xlabel('x축')
plt.ylabel('y축')
plt.title('제목')
plt.savefig('test.png')
한글은 깨짐없이 제대로 표출이 되었는데 마이너스 부호가 깨진 것을 확인하실 수 있습니다.
7) 파이썬 스크립트 상단에 마이너스 부호 관련 코드를 추가합니다.
import matplotlib.pyplot as plt
import matplotlib as mpl
plt.rcParams['font.family'] = 'NanumGothic'
mpl.rcParams['axes.unicode_minus'] = False
이제 마이너스 부호도 제대로 표출됩니다.
관련 글
'Dev > python' 카테고리의 다른 글
[python] 주소를 위도, 경도 좌표로 바꿔주는 Geocoder API 사용법 (1) | 2022.07.05 |
---|---|
[matplotlib] 그래프 x축, y축 눈금 위치 설정하는 방법, xticks, yticks (0) | 2022.07.04 |
[python] 날짜, 시간을 다루는 경우 datetime 모듈 대신 arrow 추천 (0) | 2022.07.03 |
[pandas] 데이터프레임 컬럼 자료형 변경하는 방법, astype (0) | 2022.07.03 |
[python] 숫자 1부터 100까지의 리스트 생성하기, range 객체를 list 객체로 변환하기 (0) | 2022.07.02 |
[python, opencv] 웹캠 영상 출력하는 방법 (1) | 2022.07.01 |
[pandas] 데이터프레임 컬럼 순서 변경 (0) | 2022.07.01 |
[selenium] 셀레니움 크롤링 준비, 크롬 드라이버 다운로드 (0) | 2022.07.01 |