Databricks에서 matplotlib의 일본어 대응
다음 문서에서 볼 수 있듯이 노트북 셀에서
%pip install japanize-matplotlib
로 설정하거나 클러스터 라이브러리로 japanize-matplotlib
를 설치하고 import japanize_matplotlib
로 해결할 수 있습니다.샘플 노트북은 여기에서 다운로드할 수 있습니다.
Databricks에서 matplotlib를 사용할 때도 일본어가 깨져(□가 되는) 현상이 발생합니다. 또한 Databricks 내장 시각화 기능에서는 깨짐이 발생하지 않습니다.
이 문제를 해결하려면 다음 조치가 필요합니다.
matplotlib의 일본어 편지 해결 - Qiita
그러나 일본어 글꼴을 설치해도 클러스터를 중지하면 글꼴 파일이 삭제되므로 추가 조치가 필요합니다. Databricks에서는 init script에 일본어 설치 프로세스를 추가합니다.
init script로 일본어 글꼴 설치
/databricks/scripts/japanese-font-install.sh
에 init script가 작성됩니다. 참고 정보
Configure clusters — Databricks Documentation init script의 동작을 로깅 할 수 있습니다
# init script格納ディレクトリの作成
dbutils.fs.mkdirs("dbfs:/databricks/scripts/")
# init scriptの作成
dbutils.fs.put("/databricks/scripts/japanese-font-install.sh","""
#!/bin/bash
apt-get install fonts-takao-mincho fonts-takao-gothic fonts-takao-pgothic -y""", True)
display(dbutils.fs.ls("dbfs:/databricks/scripts/japanese-font-install.sh"))
동작 확인import matplotlib
import matplotlib.font_manager as fm
originalFilelist = fm.findSystemFonts()
import numpy as np
import matplotlib.pyplot as plt
# インストール済みフォントの表示
originalFilelist
# 日本語フォントの存在を確認
fm.findfont('TakaoGothic')
일본어 글꼴 테스트
%matplotlib inline
plt.ion()
fig2 = plt.figure()
axl = fig2.add_subplot(1,1,1)
data1 = np.arange(1001)
matplotlib.rc('font', family='TakaoGothic')
line1, = axl.plot(data1[:], label="あああtest Value")
axl.legend(loc="best")
csfont = {'fontname':'TakaoPMincho'}
hfont = {'fontname':'TakaoPMincho'}
display(fig2)
Databricks 무료 평가판
Databricks 무료 평가판
Reference
이 문제에 관하여(Databricks에서 matplotlib의 일본어 대응), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/taka_yayoi/items/f35a9c288966dc7077bb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import matplotlib
import matplotlib.font_manager as fm
originalFilelist = fm.findSystemFonts()
import numpy as np
import matplotlib.pyplot as plt
# インストール済みフォントの表示
originalFilelist
# 日本語フォントの存在を確認
fm.findfont('TakaoGothic')
%matplotlib inline
plt.ion()
fig2 = plt.figure()
axl = fig2.add_subplot(1,1,1)
data1 = np.arange(1001)
matplotlib.rc('font', family='TakaoGothic')
line1, = axl.plot(data1[:], label="あああtest Value")
axl.legend(loc="best")
csfont = {'fontname':'TakaoPMincho'}
hfont = {'fontname':'TakaoPMincho'}
display(fig2)
Reference
이 문제에 관하여(Databricks에서 matplotlib의 일본어 대응), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/taka_yayoi/items/f35a9c288966dc7077bb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)