pythonで作るグラフの日本語表示
事前にIPAなどの日本語対応フォントをインストールしておくこと。
zipダウンロードしたら解凍して.ttfファイルを右クリックからインストールでOK.
独立行政法人 情報処理推進機構
デフォルトのフォントであるsans-serif
からIPAGothic
やIPAMincho
などにしなければならない。
やり方は以下の二つ
- ~/.matplotlib/matplotlibrcを弄る
- スクリプトの最初でフォント変更の宣言
~/.matplotlib/matplotlibrcを弄る
matplotlibrcとは、matplotlibの設定ファイルのこと。
import matplolib
を行ったときに実行される。
~/.matplotlib
以下のディレクトリにmatplotlibrc
の名前で保存しておくと、matplotlib
のインポート時に読み込んでくれる。
どのrc設定ファイルが有効であるかは、次のコードで調べる。
>>> import matplotlib as mpl
>>> mpl.matplotlib_fname()
'C:\\Users\\python\\.matplotlib\\matplotlibrc'
書き込む内容は以下の通り。
最初にも書いたようにこの場合はIPA明朝がインストールされていること。
それ以外のフォントでもできるはず。名前は調べてください。
font.family : IPAMincho
startup.ipyに注意
スタートアップ時にmatplotlib.pyplot
と同時にseaborn
を起動している場合は以下の操作も行う。
seabornの設定
seabornインポートしているときは、C:\tools\Anaconda3\Lib\site-packages\seaborn\rcmod.py
のrcmod.py
のset関数のデフォルト値のfont
を"sans-serif"から"IPAMincho"などに変更する。
def set(context="notebook", style="darkgrid", palette="deep",
font="IPAMincho", font_scale=1, color_codes=False, rc=None):
スクリプトの最初でフォント変更の宣言
import matplotlib as mpl
mpl.rcParameters['font.family'] = 'IPAMincho'
sns.set(font=['IPAMincho'])
フォントキャッシュの更新
設定をちゃんとしたのになんかうまくいかんな、ってときは以下のコマンドでフォントキャッシュを更新するとうまく行くことがある。
import matplotlib as mpl
matplotlib.font_manager._rebuild()