matplotlib, seaborn のラベルを日本語対応する。
iPythonでデータ分析するときに、当然matplotlibやseabornでグラフを描画するのですが、日本語対応されてなく文字化けを起こします。
グラフの描画はデータの概要を掴んだりビジュアライズしたりするためなので、文字化けを起こしていると割と致命的です。
今回はその修正方法でちょっとだけハマったので、まとめておきます。
環境:
Mac OS Sierra Python 3.5.1 :: Anaconda 4.0.0 (x86_64) iPython (jupyter)
手順
0. フォントがあるかどうか確認。
以下のようにすると使えるフォントが一覧で確認できます。
import matplotlib as mpl font_paths = mpl.font_manager.findSystemFonts() font_objects = mpl.font_manager.createFontList(font_paths) font_names = [f.name for f in font_objects] print(font_names)
日本語フォントがある場合は、
sns.set(font='AppleMyungjo')#日本語フォント設定
で設定すると対応できますが、ない場合は下記手順でダウンロードしてくる必要があります。
1. TTF形式でIPAフォントをダウンロード
IPAフォントを公式サイトからダウンロードします。
使うのはXXX.ttfの4つのファイルです。
2. TTFファイルをmatplotlibフォルダ内にコピー
僕はpyenvを使っているので下記のようなパスでした。
/Users/[user名]/.pyenv/versions/anaconda3-4.0.0/lib/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf/
こちらにダウンロードした*.ttfファイルをコピーします。
$ cp ~/Downloads/IPAfont00303/*.ttf /Users/[user名]/.pyenv/versions/anaconda3-4.0.0/lib/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf/
3. matplotlibの設定ファイルを作成
終わったらフォントファミリーのデフォルトを指定します。seabornはmatplotlibのラッパーぽい雰囲気なので、設定はmatplotlibだけでOKです。
vi ~/.matplotlib/matplotlibrc
でファイルを作成して、以下を追加。
font.family : IPAmincho
4. 再起動
Pythonを再起動すると日本語が表示されるようになってます。
以上で日本語が使えるようになったと思います。 オラッオラオラオラッ(•ө•)♡