matplotlibのplotで日本語フォントを使えなかったので色々試した結果 pandas
matplotlibはデフォルトでは日本語非対応
pythonのpandasでグラフを書く時に使われるmatplotlibはデフォルトでは日本語非対応みたいです。
そこでフォントを設定する必要があります。
ひっかかった点
ネットを検索すればいくつも情報は見つかります。
ただどれもうまく行かなかったので、うまく言った方法をメモしておこうと思います。
なおひっかかったのは「fontlist-v300.json」を一旦消さなければならないという点です。
手順
①IPAPGothicのインストール
IPAのサイトに行ってフォントをDLしインストールします。
4書体パック(Ver.003.03)
IPAfont00303.zip(19.1 MB)
です。
中に入っている4つともインストールしましょう。
② 「matplotlibrc」の場所を調べる
jupter notebookで以下のコードを実行すると開きます。
import matplotlib as mpl mpl.matplotlib_fname()
拡張子が付いていないのでAtomエディタとかで開きましょう。
ちなみにファイルの場所は
C:\ProgramData\Anaconda3\Lib\site-packages\matplotlib\mpl-data
です(win10の場合)
③ matplotlibrc の編集
font.family : sans-serif font.family : IPAexGothic font.serif : IPAPGothic, DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif font.sans-serif : IPAPGothic, DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
先頭の#を外すのを忘れずに。
④ matplotlibrcを上書き保存
上書き保存出来ない場合は一旦matplotlibrc.txtとして保存してから、元のファイルを消して上書きする。
⑤ C:\Users\ユーザ名\.matplotlibフォルダに行く
「fontList.py3k.cache」「fontlist-v300.json」というのがあるので両方消しましょう。
⑥ matplotlibrcのコピー
必要かどうか分かりませんが、matplotlibrcをC:\Users\ユーザ名\.matplotlibフォルダにもコピーしておきましょう。
テスト実行
import matplotlib.pyplot as plt plt.figure() plt.title("テスト")
一回実行してうまく表示されない場合は、もう一回実行しましょう。
初回実行時にフォントリストのキャッシュファイルが生成されるみたいです。
参考にしたページ
matplotlib のグラフに日本語を表示する方法(文字化け対応) - akiyoko blog
matplotlibの日本語文字化けを解消する(Windows編) | ブログ一覧 | DATUM STUDIO株式会社
追記
一番簡単そうな方法を発見
yolo.love