なりなり日記

IT関係、テニス、トレラン、自転車(birdy / BROMPTON / TRANS MOBILLY)の情報を発信中!

【Python入門】JupyterでのMatplotlibの日本語表示が上手くいかない時の対処方法


スポンサーリンク

こんにちは、なりなりです(^ ^)

今日はWindows PCでJupyterを使う時の話です。

Matplotlibでの日本語表示については各所で語られているのですが、その通りにやってもうまくいかなかったりします。

ゼロからはじめるPython(3) JupyterでCSVファイルを視覚化してみよう | マイナビニュース
最近僕は「ゼロからはじめるPython」を参考にしてJupyterによるPythonの勉強をしていますが、書いてある通りだと駄目だったので、うまくいった方法を記しておきます。

使用環境は
・Windows 10(64bit)
・Jupyter Notebook
の組み合わせです。

%matplotlib inline
import matplotlib.pyplot as plt
plt.figure()
plt.xlabel("テストX")
plt.ylabel("テストY")
plt.title("テスト")

これを実行すると


この様にグラフの日本語が通称「豆腐」と呼ばれる「□」に文字化けしてしまいますので、まずは

IPAexフォントのダウンロード

ここから「IPAexゴシック」フォントをダウンロードします。

import matplotlib as mpl
mpl.__path__

これを実行すると、僕の場合は
"D:¥Users¥(user名)¥AppData¥Local¥Continuum¥anaconda3¥lib¥site-packages¥matplotlib"
が表示されました。これがMatplotlibがインストールされているフォルダです。

先ほどダウンロードしたフォントファイル"ipaexg.ttf"を
"D:¥Users¥(user名)¥AppData¥Local¥Continuum¥anaconda3¥lib¥site-packages¥matplotlib¥mpl-data¥fonts¥ttf"
にコピーします。

次に、"D:¥Users¥(user名)¥.matplotlib"にある"fontList.json"を削除してから、同じディレクトリで「右クリック→新規作成→テキスト ドキュメント」によってテキストファイルを生成し、
font.family : IPAexGothic
という1行を入力して、matplotlibrcという名前で保存します。

更に、Jupyterの上部のメニュー「Kernel→Restart」を実行します。



するとこの様に、先ほど豆腐だった部分が正しい日本語になったはずです。

僕の場合、「Kernel→Restart」と"fontList.json"削除の両方が必要でした。