티스토리 뷰

728x90

findfont: font family 'nanumgothiccoding' not found.

 

 

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np

a1, b1 = np.random.rand(2)
a2, b2, c2 = np.random.rand(3)
a3, b3, c3, d3 = np.random.rand(4)

x = np.arange(-10, 10, 0.01)

y1 = a1 * x + b1
y2 = a2 * x**2 + b2 * x + c2
y3 = a3 * x**3 + b3 * x**2 + c3 * x + d3

fig, axs = plt.subplots(1, 3, figsize=(15, 5))

axs[0].plot(x, y1)
axs[1].plot(x, y2)
axs[2].plot(x, y3)

axs[0].set_title('일차함수')
axs[1].set_title('이차함수')
axs[2].set_title('삼차함수')

plt.show()

 

이렇게 한글 폰트가 안 나옵니다. 이런 경우엔 matplotlib으로 시각화 되는 폰트로 지정 설정을 해주어야 하는데요.

 

plt.rcParams['font.family'] = 'NanumGothicCoding'
mpl.rcParams['axes.unicode_minus'] = False

 

이렇게 코드를 추가하면 됩니다. 하지만 이렇게 설정해도 바로 안 될 수 있습니다. 그 이유는 나눔고딕코딩 폰트가 없을 경우인데요. 순서대로 진행해주세요.

 

1. 폰트 다운로드 후 운영체제 글꼴에 추가

https://github.com/naver/nanumfont

글꼴에 추가했지만, 코드 상에선 바로 업데이트가 되지 않습니다.

이땐 폰트 리스트를 삭제한 다음에 업데이트를 잠깐 기다려줘야 합니다. 그러기 위해서 아래의 코드를 이용하세요.

 

2. 아래 코드 출력

import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.font_manager

font_list = matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf')
print(font_list)

print ('버전: ', mpl.__version__)
print ('설치 위치: ', mpl.__file__)
print ('설치 파일 위치: ', mpl.matplotlib_fname())

print ('설정 위치: ', mpl.get_configdir())
print ('캐시 위치: ', mpl.get_cachedir())

 

이렇게 하면, 설정 위치가 나오는데 그 주소를 복사하여 폴더로 이동합니다.

 

아마 설치된 글꼴 파일도 나올 거예요. 하지만 우리가 수정해야하는 건

 

 

이 폴더를 확인해야 합니다. 클릭하면 vscode, 메모장 등으로 이동 될 겁니다.

 

 

저는 이렇게 폰트가 리스트 내에 있는데, 간혹 없을 수도 있습니다. 이럴 때는 저 json 파일을 삭제해주면 됩니다.

 

방법 1

 

cd {설정 위치 경로로 이동}
rm -rf fontlist-v330.json

 

또는 윈도우 폴더 상에서 삭제해줘도 되겠죠.

 

잠시 기다려보시거나 vscode를 껐다 켜보시면 아마 업데이트 된 새 파일이 생겼을 겁니다.

 

다시 위 과정을 통해 Nanum 폰트가 있는지 확인해 보시고, 다시 시각화를 시도해보세요.

 

 

세종대왕 만세

728x90

'Skills > Pythons' 카테고리의 다른 글

[Python] Python Pillow (PIL) version  (0) 2023.10.06
[Python] warnings 경고 메시지 숨기는 방법  (8) 2023.07.27
[백준] 입출력과 사칙연산 답 모음  (0) 2023.07.08
[macOS] Homebrew 설치  (0) 2023.03.08
[macOS] pip 설치 방법  (0) 2023.03.08
댓글