賢くなりたいトイプードルの日記

データサイエンス系の話をメインにしていきます

Macでmatplotlibやseabornのグラフをプロットするときにデフォルトで日本語表示する方法

matplotlibやseabornを日本語化する手順をまとめると、

  1. matplotlibrcを~/.matplotlib直下にコピーする。
  2. matplotlibrcと同じ階層にあるfontsディレクトリのttf直下に、ipaexg.ttfをコピーする。
  3. matplotlibrcにipaexg.ttfを使うよう追記する。
  4. site-package/seaborn/rcmod.pyのsans=-serifを使う記述をipaexgを使うように修正する。

実際にやってみる

matplotlibを日本語化する方法

具体的にはこんな感じのコードになるはず。

まず以下のpythonコードを走らせてmatplotlibrcの場所を確認。

import matplotlib
matplotlib.matplotlib_fname()

> /Users/<username>/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

このファイルを、~/.matplotlib直下にコピーする。

cp /Users/<username>/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc ~/.matplotlib

コピーしたあと、もう一度以下のコードを走らせると、

import matplotlib
matplotlib.matplotlib_fname()

'/Users/<username>/.matplotlib/matplotlibrc'

参照先が変わっている。

そして、~/.matplotlib/matplotlibrcをエディタで開いて、

 

font.family : IPAexGothic

の1行を追加。

 

ipaexg.ttfをダウンロードする。

matplotlib.matplotlib_fname()で調べたディレクトリにipaexg.ttfをコピーする。

cp /Users/<username>/Downloads/IPAexfont00401/ipaexg.ttf /Users/<username>/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf

これでmatplotlibの日本語化は完了。

 

 seabornを日本語表示する方法

site-packages/seaborn/rcmod.py

(自分の場合は/Users/<username>/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/seaborn/rcmod.pyにあった。anacondaで管理している場合は/Users/<username>/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/seaborn/rcmod.pyに記述されてある、

def set(context="notebook", style="darkgrid", palette="deep",
  font="sans-serif", font_scale=1, color_codes=True, rc=None):

の部分を見つける。自分の場合は92、93行目にあった。font='sans-serif'をfont='IPAexGothic'に変更。

完了。

jupyter notebookやjupyter labのdarkモードでtitleやlabelが見えるようにする方法

ちなみに同じ行にあるcolor_codes=Trueを、color_codes="white"に変えると、jupyter notebookやjupyter labでdarkモードにしていてもtitleやlabelが見えるようになるのでおすすめ。