Python matplotlibで日本語の設定方法

hannya

Pythonのライブラリmatplotlibはデータを可視化するのに最適なツールですが、初期設定では日本語が対応しておらず、日本語をグラフ内で使用すると「□□□」のような豆腐文字になってしまいます。私もこの日本語設定に手こずってしまったこともあり、またWindowやMac、Linuxなど様々なOSに適用する必要もあり、いちいち調べ直すのも面倒なため、全体的な処理の流れをまとめておくことにしました。

まとめるにあたり、以下のサイトを参考にしました。このサイトだけでも十分すぎる説明だとは思いますが、自分の忘備録のため再度説明させてください。

問題点

以下のようなコマンドで、グラフのタイトルに「日本語」を表示させようとしましたが、日本語部分が「□□□」と文字化けしてしまっています。

tofumoji

日本語の設定方法

matplotlibで使用可能なフォント一覧を調べる

以下のコマンドで読み込まれている、matplotlibで使用可能なフォント一覧を調べます。

ここで日本語に対応した、フォントがなければ、ダウンロードの必要があります。日本語対応フォントならなんでも大丈夫ですが、どんな環境でも表示可能な「IPAフォント」を使っておくのが一番無難です。

IPAフォントとは
コンピュータで文字を扱うには、文字の形をデータ化してまとめたフォントが必要です。IPAでは、システムの種類を問わず無償で利用できる高品位なフォント「IPA フォント」や、その改良版の「IPAex フォント」を開発・公開してきました。
これらのフォントは、文字符号に関する国際標準規格「ISO/IEC 10646」に準拠した符号化により、異なるシステムやコンピュータでも問題なく文字を表示できます。

ダウンロードは以下サイトから無料で入手することができます。ダウンロード後、OSのフォントフォルダに入れておきましょう。

コマンドでもダウンロード可能です。

matplotlibrcの書き換え

matplotlibrcはmatplotlibデフォルトのグラフのスタイルを指定することができる、設定ファイルです。デフォルトはDejaVuSansになっていますが、絶対このフォントがデフォルトでなければならない!とこだわりをもった人以外はIPAフォントをデフォルトに変更したほうが、日本語も使えるし良いと思います。

以下のコマンドで読み込まれている、matplotlibrcファイルの場所を調べます。

私の場合はanacondaで環境構築を行ったため、設定ファイルもanacondaファイルの中に存在します。そのまま、編集しても大丈夫ですが、元のファイルはあまり修正したくないため、matplotlib ディレクトリにコピーし編集を行います。ちなみにmatplotlibrcは以下、3つのフォルダ内に置いておけば読み込まれるようです。読み込まれる優先順位もあり、1~3の順にファイルの検索が行われ、ファイルが見つかれば読み込みが行われます。

  1. 設定が読み込まれる、pythonファイルと同フォルダ内にある設定ファイル
  2. matplotlib ディレクトリにある設定ファイル

    OS パス
    Windows C:\\Documents and Settings\\ユーザー\\.matplotlib
    Mac /Users/ユーザー/.matplotlib/
    Linux .config/matplotlib/
  3. matplotlibをインストールした、mpl-data内にある設定ファイル

vimまたはテキストエディットでmatplotlibrcを開き、以下2箇所に”IPAexGothic”を追加しましょう。(コメントアウトも解除します。)

フォントキャッシュの削除

フォントがキャッシュされていると、最新の設定が反映されない可能性があります。以下のコマンドでキャッシュの場所を調べ削除してやりましょう。

また、そんな面倒なことをしなくても、以下のコマンドで、フォントキャッシュの再構築ができるようです。

結果

日本語も、無事表示されるようになりました。フォントの設定だけなのに、割と面倒くさいです。もしうまくいかない場合、読み込んでいるフォント・matplotlibrcのパスを調べ直せば解決する場合が多いです。

japanese



スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする