pythonでデータを可視化するのにmatplotlib[1]やseaborn[2]を使用しているが, デフォルト設定では日本語が表示されない.
日本語表示する必要がそれほどあるわけではないが, 今回資料作成のために日本語が表示できるようにしてみようと思い, Googleのフリーフォント Noto Sans CJK JP[3]を導入しようとしたが, 少しハマったので, 設定手順をまとめておく.
0. 導入環境
今回導入した環境は, 以下の通り.
・OS : Ubuntu 16.04
・python 3.6.2
・matplotlib 2.2.2
・seaborn 0.8.1
1. 設定手順
1) フォントのインストール
1-1) ここから, "Noto Sans CJK JP"をダウンロードする.
1-2) GoogleのNoto Sans CJK JPフォントをインストールする.
$ cd /usr/share/fonts/opentype $ sudo mkdir notosans $ sudo cd notosans $ sudo unzip (download dir)/NotoSansCJKjp-hinted.zip
1-3) "a+r"権限を付与する.
$ sudo chmod a+r NotoSans*
[ハマりどころ1]
Noto Sans CJK JPはaptコマンドでもインストール可能だが, この方法でインストールしてもmatplotlibではうまくフォントを見つけられなかった.
何かやり方はあるのだろうが....
[ハマりどころ2]
Noto Sans CJK JPをダウンロード & zipを解凍しただけだと, フォントを読み込む際にリード権限がないため, 表示されない.
パーミッションエラーと気付くのに時間がかかった.
2) matplotlibrcの設定
2-1) matplotlibrcを探す.
$ cd ~/ $ find . -name matplotlibrc -print ./anaconda3/lib/python3.5/site-packages/matplotlib/mpl-data/matplotlibrc ./anaconda3/envs/tf13/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc ./anaconda3/envs/py36/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc ./anaconda3/envs/py27/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc :
2-2) matplotlibrcをコピーする.
$ cp ./anaconda3/envs/tf13/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc ./.config/matplotlib/
2-3) matplotlibrcを編集する.
フォント設定を変更する.
#### FONT : font.serif : Noto Sans CJK JP font.sans-serif : Noto Sans CJK JP :
2-4) キャッシュを削除する.
$ rm ./.cache/matplotlib/fontList.py3k.cache
3) 動作確認
xlabel, ylabelで正しく日本語が表示された.
おまけ[4]
フォントチェックのために書いたコードも載せておきます.
----
参照URL:
[1] Matplotlib: Python plotting
[2] seaborn: statistical data visualization
[3] Google Noto Fonts
[4] matplotlib と Seaborn の軸の日本語設定
現場で使える! TensorFlow開発入門 Kerasによる深層学習モデル構築手法 (AI & TECHNOLOGY)
|
Pythonで学ぶあたらしい統計学の教科書 (AI & TECHNOLOGY)
|
|
Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理
|