まるっとワーク

データ分析・電子工作など気になることを残していきます

matplotlibとseabornの日本語の文字化けを修正する

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)をしているため日本語表示ができないようです。
f:id:toku_dango:20210924091239p:plain

対応方法

対応方法を調べてみると、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("値")

f:id:toku_dango:20210924091257p:plain

まとめ

今回はデータ可視化の際の文字化けに対する対応方法をまとめました。
報告用で日本語表記のグラフを作成したい場合に、こういった対応をふと忘れてしまうので、忘れずに使えるようにしたいです。