2025. 8. 23. 13:58
반응형
코드에서 제목과 라벨에 한글을 넣었을 때 글자가 깨지는 문제는 폰트 설정이 제대로 되지 않았기 때문에 발생합니다. 기본적으로 Matplotlib은 한글을 지원하지 않는 경우가 많아, 한글 폰트를 별도로 지정해줘야 합니다.
Matplotlib에서 한글 깨짐 해결 방법
- 폰트 지정: Matplotlib의 폰트 설정을 변경하여 한글을 지원하는 폰트를 지정해주어야 합니다.
- 마이너스 기호 깨짐 방지: 폰트를 설정한 후에도 마이너스 기호(-)가 네모 상자로 깨지는 경우가 있습니다. 이 역시 별도로 설정을 추가해줘야 합니다.
아래는 이 두 가지 문제를 해결하기 위한 전체 코드입니다. 이 코드를 IDLE 쉘에 입력하고 실행해 보세요.
수정된 소스 코드
Python
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
# 1. 폰트 경로 설정
# 시스템에 설치된 한글 폰트 경로를 찾아서 지정합니다.
# Windows: 'C:/Windows/Fonts/malgun.ttf' (맑은 고딕)
# macOS: '/Library/Fonts/AppleGothic.ttf' (애플고딕)
# Linux: '/usr/share/fonts/truetype/nanum/NanumGothic.ttf' (나눔고딕)
font_path = 'C:/Windows/Fonts/malgun.ttf'
# 2. 폰트 속성 설정
font_prop = fm.FontProperties(fname=font_path).get_name()
plt.rc('font', family=font_prop)
# 3. 마이너스 기호 깨짐 방지
plt.rcParams['axes.unicode_minus'] = False
#-------------------------------------
# 기존 코드와 동일
#-------------------------------------
x = [1, 2, 3, 4, 5]
y = [10, 20, 15, 25, 30]
plt.plot(x, y)
plt.title('테스트 그래프')
plt.xlabel('x축 레이블')
plt.ylabel('y축 레이블')
plt.show()
소스 설명
- import matplotlib.font_manager as fm: 폰트 관리를 위한 font_manager 모듈을 불러옵니다.
- font_path: 사용자의 운영체제에 맞는 한글 폰트 파일 경로를 직접 지정해줘야 합니다. 위에 예시를 참고하여 본인의 컴퓨터에 설치된 폰트 경로를 찾아 입력해주세요.
- plt.rc('font', family=font_prop): Matplotlib의 기본 폰트를 지정한 한글 폰트로 설정합니다. 이 설정을 해주면 title, xlabel, ylabel 등에 한글을 사용해도 깨지지 않습니다.
- plt.rcParams['axes.unicode_minus'] = False: 폰트를 변경할 때 함께 발생하는 마이너스 기호(–) 깨짐 현상을 방지합니다.
이 코드를 사용하면 한글이 정상적으로 표시될 겁니다. 만약 한글 폰트 파일 경로를 찾는 데 어려움이 있다면, 인터넷에서 '내 운영체제 한글 폰트 경로'를 검색해 보세요.
인터넷에서 치면 이렇게 결과값을 볼 수 있다.
윈도우에서는 "C:\Windows\Fonts" 폴더에, 맥에서는 "/Library/Fonts" 폴더에 폰트 파일이 저장되어 있다.
반응형
'파이썬(Python)' 카테고리의 다른 글
| 파이썬 연산자 우선순위 (0) | 2025.08.24 |
|---|---|
| 파이썬, 중첩 선택문, 예제: 카위,바위,보 게임 소스 및 해석 (2) | 2025.08.23 |
| 파이썬, Matplotlib은 무엇인가? (데이터 시각화 라이브러리) IDLE Shell에서 사용법, 파이썬 그래프 (1) | 2025.08.23 |
| 파이썬에서 시퀀스(sequence) 용어 개념 정리 (0) | 2025.08.23 |
| if~ in ~ elif 에서 in 연산자는 무엇인가? (in 연산자) (0) | 2025.08.22 |
콘텐츠 내 자동삽입광고
