こんにちは。データ事業2部の友利です。
Pythonでグラフを作成したい場合、グラフ描画ライブラリであるmatplotlibを利用するのが定石となっております。
しかしながら、matplotlibでグラフのタイトル、X軸、Y軸を日本語表記で設定した場合、文字化けが発生し結局英語表記で済ませていることが多いのではないでしょうか。
今回はmatplotlibでグラフを描画する際、グラフのタイトル、X軸、Y軸を日本語表記に指定したとしても文字化けが発生しない方法について紹介します。
なお、今回紹介するのはWindows、jupyter notebook環境下での設定方法です。ご留意ください。
実行環境
Windows10(64bit)
jupyter notebook
何も設定しない状態でグラフを作成
まずは、グラフの各ラベルを英語表記で指定します。 下記コードをjupyter notebookで入力し実行してください。
1 2 3 4 5 6 7 8 | %matplotlib inline import matplotlib.pyplot as plt plt.figure() plt.xlabel("test_x") plt.ylabel("test_y") plt.title("Test") |
plt.figure()で描画されていない新しいウィンドウを描画して、X軸に「test_x」、Y軸に「test_y」、グラフのタイトルに「Test」と名前を付けます。
上記コードの実行結果は下図になります。
英語表記で設定すると問題なく表示できます。
ここで、X軸に「テスト_X」、Y軸に「テスト_y」、グラフのタイトルに「テスト」と名前を日本語表記に変更します。下記コードをjupyter notebookで入力し実行してください。
1 2 3 | plt.xlabel(“テスト_X”) plt.ylabel(“テスト_y”) plt.title(“テスト”) |
上記コードの実行結果は下図となり、日本語部分が「□□□」と文字化けしてしまいます。
さて、通称「豆腐」と呼ばれるこの文字化けを解消するにはいくつかの手順を踏まなければいけません。その手順を紹介していきます。
日本語文字化け解消の手順
まずは、こちらのサイトからIPAexフォントをダウンロードします。
リンク先の「IPAサイトからダウンロード」の「IPAexゴシック」のipaexg00301.zipファイルをクリックしてダウンロードしてください。
ダウンロードしたzipファイルを解凍すると、ipaexg.ttfというファイルがあります。
このファイルをコピーして
C:\Users\[ユーザー名]\Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf
の中に貼り付けます。
貼り付けが完了したら、
C:\Users\[ユーザー名]\Anaconda3\Lib\site-packages\matplotlib\mpl-data
の中にあるmatplotlibrcというファイルをダブルクリックしてメモ帳で開きます。
開いたら「font.family : IPAexGothic」という文字列を追加してください。
追加が完了したらmatplotlibrcファイルを上書き保存して閉じましょう。
ファイルを閉じた後、
C:\Users\[ユーザー名]\.matplotlib にあるfontList.json(もしくはfontList.py3k.cache)
を削除しましょう。
最後に
C:\Users\[ユーザー名]\Anaconda3\Lib\site-packages\matplotlib\mpl-data
の中にあるmatplotlibrcファイルをコピーして
C:\Users\[ユーザー名]\.matplotlib の中に貼り付けましょう。
これでmatplotlibの日本語文字化け解消の準備が整いました。
日本語文字化けが解消済みか確認
それでは、日本語文字化けが解消されているか確認していきましょう。
再度jupyter notebookを立ち上げ、下記のコードを実行してください。
1 2 3 4 5 6 7 8 | %matplotlib inline import matplotlib.pyplot as plt plt.figure() plt.xlabel(“テスト_X”) plt.ylabel(“テスト_y”) plt.title(“テスト”) |
実行すると
日本語が表示されていることを確認できました。
まとめ
この記事ではWindows環境下でmatplotlibの日本語文字化け解消の方法をお伝えしました。
今まで日本語表記ができないからという理由でPythonでのグラフ作成を控えてきた方々もこの記事を参考に日本語表記可能となる設定を行い、グラフの作成を行ってみてはいかがでしょうか。