「Matplotlib」で日本語を表示したい場合、通常の環境では文字化けしてしまいます。
そのような時の解決方法として、いくつかあります。1つは日本語のデジタルフォント(拡張子ttf)追加です。もう1つは「japanize-matplotlib」を使用する方法です。
ここでは、「Matplotlib」における日本語表示の設定方法について上記の2つを解説しています。
この記事の対象
日本語のデジタルフォント(拡張子ttf)追加しての解決策
手順
- 日本語デジタルフォント(拡張子ttf)のダウンロード
- ダウンロードしたttfをMatplotlibに追加
- 設定ファイル(matplotlibrc)に日本語デジタルフォントの追加
日本語デジタルフォント(拡張子ttf)のダウンロード
ここでは、無償で日本語のデジタルフォントを使用します。「IPA 独立行政法人情報処理推進機構」のサイトへアクセスします。
最新のIPAexゴシックをダウンロードします。
次にダウンロードしたフォルダを解凍します。そしたら、中に「ipaexg.ttf」があります。これを「Matplotlib」の「ttf」フォルダに移動させます。
ダウンロードしたttfをMatplotlibに追加
ttfを移動させるには、Matplotlibの設定ファイルの場所を特定する必要があります。以下を実行して場所を特定してください。
import matplotlib
print(matplotlib.matplotlib_fname())
以下のようなパスが出力されると思います。以降はそれぞれの出力結果と読み替えて、解説を読んで下さい。
C:\hoge\Python\Python36\Lib\site-packages\matplotlib\mpl-data\matplotlibcr
パスが分かったらttfを「~\matplotlib\mpl-data\fonts\ttf」に移動させます。
設定ファイル(matplotlibrc)に日本語デジタルフォントの追加
「matplotlibcr」に日本語デジタルフォントを追加します。
「matplotlibcr」は「mpl-data」にあります。メモ帳等で開いて「font.family : IPAexGothic」を追加します。
設定は以上です。
「japanize-matplotlib」を追加しての解決策
日本語の文字化け解消方法として最も簡単に解決するものとして「japanize-matplotlib」をインストールして使用時呼び出すというものがあります。
デジタルフォントを追加するよりも簡単です。
pipでのインストール
$ pip3 install japanize-matplotlib
モジュールのインポート
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
#1---Data設定
x_data = np.array([1, 2, 3, 4, 5])
y_data = np.array([10, 50, 20, 70, 120])
#2---デフォルトの折れ線グラフ
fig, ax = plt.subplots()
ax.plot(x_data,y_data)
ax.set_title('ためし')
plt.savefig("plot_notitle.png")
実際にグラフ出力するプログラムです。「import japanize_matplotlib」と記述するだけで日本語表示が可能になります。
日本語の表示ができました。