LoginSignup
2
3

More than 5 years have passed since last update.

matplotlibの日本語文字化け対応

Last updated at Posted at 2016-03-30

プロットしたグラフのタイトルやラベルに日本語が混ざっていると文字化けしてしまう。これはmatploblitが日本語フォントを持っていないことが理由。日本語フォントを指定してやる事で解決可能。

本目的の為に実施した内容を以下にまとめる。
環境は以下の通り:
- VirtualBox上のxubuntu15.10
- pythonはpyenvでインストール
- Anacondaを利用
- フォントはSystemで使っているRictyを流用する

pyenvでAnacondaをインストールした場合はmatplotlibrcの雛形は以下のディレクトリに置かれている。

$ ~/.pyenv/versions/anaconda3-2.5.0/lib/python3.5/site-packages/maplobli/mpl-data/matplotlibrc

これを以下ディレクトリにコピーする

$ ~/.config/matplotlib

このディレクトリにコピーしたmatplotlibrc内を以下のように編集してRictyを使用する事にした。Rictyはsystemフォントが気に食わなくて、以前自分でインストールしたもの。

matplotlibrc
font.family     : ricty 

Rictyは
$ /usr/local/share/fonts
にインストールしていたが、これをそのままコピーするとディスクスペースの浪費となってしまうので、シンボリックリンクで対応することにした。
matplotlibで使用するフォントは以下のディレクトリに集められている必要がある。
$ ~/.pyenv/versions/anaconda3-2.5.0/lib/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf

ここに以下のようにシンボリックリンクを作成

作業手順
$ cd ~/.pyenv/versions/anaconda/3-2.5.0/lib/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf
$ ln -s /usr/local/share/fonts/Ricty-Regular.ttf Ricty-Regular.ttf
$ ln -s /usr/local/share/fonts/Ricty-Bold.ttf Ricty-Bold.ttf
$ ln -s /usr/local/share/fonts/RictyDiscord-Regular.ttf RictyDiscord-Regular.ttf
$ ln -s /usr/local/share/fonts/RictyDiscord-Bold.ttf RictyDiscord-Bold.ttf

これでグラフ中で日本語が使えるようになる。

good.PNG

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3