Pythonから利用できる可視化ライブラリ、matplotlibやseabornにて可視化を行った際の日本語の文字化けを防ぐ方法をまとめていきます。
目次
開発環境について
$wmic os get caption >Microsoft Windows 10 Pro $wmic os get osarchitecture >64ビット $python -V Python 3.7.6 $pip list -V scipy 1.4.1
問題事例
日本語が含まれるグラフを作成する場合、以下の通り文字化けが発生する。
import numpy as np import matplotlib.pylab as plt x = np.arange(100) y = np.sin(x*0.1) plt.plot(x, y) plt.xlabel("時間") plt.ylabel("値")
どうやら、本モジュールでは日本語に対応していない欧文フォント(sans-serif)をしているため日本語表示ができないようです。
対応方法
対応方法を調べてみると、Jupyterの設定ファイルを書き換えるなどの方法があるようですが、少し大変そうなので、これとは異なるより簡単な方法についてまとめます。
japanize-matplotlibモジュールをインストール
このモジュールはmatplotlibのフォント設定を自動で日本語化してくれます。
pypi.org
$ pip install japanize-matplotlib
対応結果
ラベルの文字化けがなくなり、正常に日本語表示されるようになりました。
import numpy as np import japanize_matplotlib #モジュール追加 import matplotlib.pylab as plt x = np.arange(100) y = np.sin(x*0.1) plt.plot(x, y) plt.xlabel("時間") plt.ylabel("値")
まとめ
今回はデータ可視化の際の文字化けに対する対応方法をまとめました。
報告用で日本語表記のグラフを作成したい場合に、こういった対応をふと忘れてしまうので、忘れずに使えるようにしたいです。