こんにちは!!ようこそ、当ブログgcbgardenへ。管理人のsakurabaaa(@sakurabaaa_g)です。
本記事では、matplotlibで日本語フォントを使ったときに文字化けしてしまう課題を解決します。
・mac OS Sierra 10.12.3
・Python3
・Anaconda
・Jupyter notebook
課題
以下のコマンドを実行すると、、、
1 2 3 4 | import matplotlib.pyplot as plt plt.figure() plt.xlabel('豆腐 - tofu') plt.title('豆腐 - TOFU') |
このように日本語部分が文字化けしてしまいます。
解決するには
Step1.matplotlibの設定ファイル位置確認
matplotlibの設定ファイルのパスは以下で確認ができます。
1 2 3 4 5 6 | #入力 import matplotlib matplotlib.matplotlib_fname() #出力 '/Users/lib/python/site-packages/matplotlib/mpl-data/matplotlibrc' |
見つけたファイル(matplotlibrc)を、matplotlibの設定ディレクトリにコピーします。
Step2.設定ディレクトリの位置を確認
設定ディレクトリは以下のコマンドで調べることができます。
1 2 3 4 5 | #入力 matplotlib.get_configdir() #出力 '/Users/.matplotlib' |
※ディレクトリ「.matplotlib」は隠しファイルになっているため「command」+「shift」+「.(ドット)」でmacのファインダー上で表示させます。
Step3.ディレクトリ「.matplotlib」に、matplotlibrcをコピー
ディレクトリ「.matplotlib」に、matplotlibrcをコピーします。
日本語フォントの設定
今回は一般的に使われているIPAexフォントを使うことにします。以下のリンク先からダウンロードしてください。
LINKIPAexフォント
ダウンロードして解凍すると、「ipaexg.ttf」というファイルがあります。
これを
1 | '/Users/lib/python/site-packages/matplotlib/mpl-data/fonts/ttf' |
ディレクトリ「ttf」にコピーします。
matplotlibの設定ファイルを書き換える
先ほどコピーした隠しファイル内の「matplotlibrc」ファイルを開いてください。
1 | font.family : IPAexGothic |
上記の「font.family : IPAexGothic」をmatplotlibrc内に追加してください。
ぼくは最下部に追加しました。
フォントのキャッシュの削除
以上で設定完了です。
しかし、matplotlibは使うフォントのキャッシュを持っていて、それを削除しないと設定が読み込まれません。
「fontList.cache」もしくは「fontList.py3k.cache」ファイルを削除してください。
以上で設定完了です。
さいごに
さきほどは日本語フォントが文字化けしてしまったコマンドをもう一度走らせると
1 2 3 4 | import matplotlib.pyplot as plt plt.figure() plt.xlabel('豆腐 - tofu') plt.title('豆腐 - TOFU') |
日本語でグラフをうまく出力することができました!!
これで日本語も自由に使うことができるようになりました。
この記事を書いた人。
20代。とあるネットベンチャーでがんばる働き屋さん、ブロガー。
書きたいことを気ままに書いてます!
Python、プログラミング、米株、カメラ、野球観戦がすき。趣味は新宿散策。
[…] https://gcbgarden.com/2017/05/04/matplotlib-japanese/ […]