안녕하세요! 오늘은 Virtual Machine에서 쥬피터 노트북을 돌리는 경우, matplotlib에서 한글 폰트 깨짐이 발생할 때 해결 방법을 알려드리겠습니다 :)
데이터 분석을 하다보면 대용량 데이터, 그리고 어마어마한 양의 연산을 노트북이 감당하기 어려워, 서버를 사용하는 경우가 많이 있습니다.
저는 이전에 웹 어플리케이션을 인터넷에 올리기 위해서 클라우드를 사용한 이후에 서버를 사용하는 것도 처음이고, 또 서버에서 쥬피터노트북을 돌리는 건 처음이라 더욱 헤맸는데, 이 게시물을 읽으시는 분들은 바로 문제를 해결하실 수 있었으면 좋겠습니다 :)
한글 폰트를 설정하지 않은 경우, 파이썬은 한글 대신 네모로 대체하게 되는데요,
이후 다시 한글 폰트를 설정한 이후에도 다음과 같은 오류를 보게 되는 경우도 있습니다.
userwarning: findfont: font family ['nanumgothic'] not found. falling back to dejavu sans (prop.get_family(), self.defaultfamily[fontext]))
내가 설정한 폰트를 찾을 수가 없다는 뜻인데요, 이 때 다음과 같은 코드를 사용하면, matplotlib에 설치된 폰트의 경로를 알 수 있습니다.
import matplotlib.font_manager as fm
fontlist = fm.findSystemFonts(fontpaths=None, fontext='ttf')
또한 잘 설치가 되었는지 확인하기 위해서는 다음 코드를 돌려보시면 됩니다. 서버를 돌려야 하는 태스크라면 한 번 돌리는데 굉장히 오래 걸리는데, 오랜 시간 들여서 네모로 가득한 결과창을 보는 건 끔찍하잖아요? (절대절대절대 실화 아닙니다... 절대아닙니다..)
path = '/usr/share/fonts/truetype/nanum/NanumGothic_Coding.ttf' # fontlist에 있던 경로입니다
font_name = fm.FontProperties(fname=path).get_name()
rc('font', family=font_name)
plt.text(0.3, 0.3, '한글', size=100)
다음과 같은 결과가 나오면 정상이랍니다 :)
'Computer > python' 카테고리의 다른 글
[ipynb] 쥬피터 노트북에서 %와 !의 차이 (0) | 2022.09.15 |
---|---|
[seaborn] 예쁜 그래프를 만들 수 있는 커스텀 팔레트 만들기! (0) | 2022.01.05 |
[python] groupby 이중 사용시 컬럼의 모든 변수값 포함하는 법 (0) | 2021.10.28 |
[Folium] Choropleth 지도 전부 검은색으로 뜰 때 해결법 + 미국 zip code별 GeoJSON 자료 (0) | 2021.09.21 |
[파이썬 오류] "TypeError 'xxx' object is not callable" 무슨 뜻? (0) | 2021.09.13 |
댓글