matplotlibで日本語文字が豆腐(□)になる問題を解決し、正しく表示させる方法

はじめに

matplotlibの図で日本語を使用するには、いくつかの方法がありますが、matplotlibrcファイルを修正する方法は、一度設定すればスクリプトごとにフォントを指定する必要がなく、永続的に設定を反映できるというメリットがあります。

以下に、matplotlibrcファイルを修正して日本語を使用するための一般的な手順を説明します。

1. matplotlibrcファイルの場所を確認する

まず、ご自身の環境におけるmatplotlibrcファイルの場所を特定する必要があります。以下のPythonコードを実行すると、matplotlibrcファイルのパスが表示されます。

このコマンドを実行すると、以下のようなパスが出力されます。(環境によってパスは異なります。)

2. ユーザー設定用のmatplotlibrcファイルを作成する(推奨)

元のmatplotlibrcファイルを直接編集するのではなく、ユーザー設定用のディレクトリにコピーして編集するのが一般的です。これにより、元の設定ファイルを変更せずに済み、アップデートなどの際に設定が上書きされることを防げます。

ユーザー設定用のディレクトリは、以下のコマンドで確認できます。

  • Windows: C:\\Users\\ユーザー名\\.matplotlib
  • macOS/Linux: /home/ユーザー名/.matplotlib または ~/.matplotlib

このディレクトリに、元のmatplotlibrcファイルをコピーするか、新たにファイルを作成します。

3. matplotlibrcファイルを編集する

作成またはコピーしたmatplotlibrcファイルをテキストエディタで開きます。日本語フォントを使用するために、font.familyの行を探し、コメントアウト(#)を外し、日本語フォント名を指定します。

4. フォント名の確認方法

ご自身の環境にインストールされている日本語フォント名がわからない場合は、以下のコードを実行してフォントリストを確認できます。

このリストの中から使用したいフォント名を見つけて、matplotlibrcファイルに記述してください。

5. 変更の反映

matplotlibrcファイルを編集し保存したら、カーネルをリスタートすることで設定が反映されます。

まとめ

  1. matplotlib.matplotlib_fname()matplotlibrcの場所を確認する。
  2. matplotlib.get_configdir() でユーザー設定ディレクトリを確認し、そこにmatplotlibrcファイルをコピーして編集する。
  3. matplotlibrcファイルを開き、font.family のコメントアウトを外し、使用したい日本語フォント名に設定する。

以上の手順で、matplotlibの図で日本語を永続的に使用できるようになります。

参考

  1. Matplotlibのグラフのスタイルを設定ファイル・スタイルシートで変更
  2. 【matplotlib】日本語の設定 – keisukeのブログ
  3. matplotlibで日本語 – Qiita

コメント