はじめに
matplotlibで日本語を表示しようというブログ記事がいっぱいあったのですが,フォントを入れるところで苦労したので備忘録としてまとめておきたいと思います.
実行環境
macOS Sierra 10.12.6
ttfファイルを入れる
まずは入れたいフォントのttfファイルを用意しましょう.
※ttfとは?
よくTrueTypeフォントのデータが入っているファイルに付く拡張子
https://wa3.i-3-i.info/word14135.html
オススメフォントは
https://ipafont.ipa.go.jp/node26
https://ipafont.ipa.go.jp/old/ipafont/download.html
のIPAexGothicなどが色々な漢字に対応していて良い感じです.今回はこれを使います.
現在使っているpython環境において以下を実行
import matplotlib as mpl
print(mpl.matplotlib_fname())
すると例えば次のようなアドレスが出てきます.
/anaconda/lib/python3.5/site-packages/matplotlib/mpl-data/matplotlibrc
このmatplotlibrc
があるフォルダに移動しましょう.今回の場合は
cd /anaconda/lib/python3.5/site-packages/matplotlib/mpl-data/`
を実行します.
次に以下を実行してttfのフォルダに移動します.
cd ./fonts/ttf
ここにttfファイルを入れます.
キャッシュを削除
次にmatplotlibの設定ファイルがある場所に移動します.
cd ~/.matplotlib
ls
でファイルを見てみると,以下のファイルがあるはずです.
fontList.cache
fontList.json
これを削除してください.
※Windowsの場合,User/admin/.matplotlib
にあることが多いようです.
あとは実行してみるのみ!
以下のようなpythonコードを実行してみましょう!
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'IPAGothic'
plt.title('天網恢恢疎にして漏らさず')
plt.show()
こんな難しい漢字も出せちゃいます!
最後に
天網(てんもう)恢恢(かいかい)疎(そ)にして漏(も)らさず
《「老子」73章から》天の張る網は、広くて一見目が粗いようであるが、悪人を網の目から漏らすことはない。悪事を行えば必ず捕らえられ、天罰をこうむるということ。
コトバンク