タイトルやラベルで日本語を使う【matplotlib】

matplotlibの日本語化の記事のアイキャッチmatplotlib

手っ取り早く日本語化したい方はこの方法!!

一番簡単なのは japanize_matplotlib をインストールし、importする方法です。

とりあえずややこしいことはせずに日本語化だけできれば良い方はこの方法

pip install japanize_matplotlib
import matplotlib.pyplot as plt
import numpy as np
import japanize_matplotlib

x = np.arange(-3, 3, 0.1)
y = x * 2
plt.plot(x, y, label='直線')
plt.title('直線グラフ')
plt.legend()
plt.show()

ちょっと上級者向けの日本語化

日本語をタイトルやラベルなどに使うと豆腐文字になってしまいます。
これはmatplotlibで使用しているフォントが日本語に対応していないためです。
解決するには日本語に対応したフォントを使うように設定してやる必要があるわけです。

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-3, 3, 0.1)
y = x * 2
plt.plot(x, y, label='直線グラフ')
plt.title('直線グラフ')
plt.legend()
plt.show()

やり方には以下のようなものがあります

  • plt.rcParams['font.family]で設定する
  • matplotlibの設定ファイルを書き換える
    デフォルトを変えるのでいちいちコードでフォントを指定しなくてもOKだけど他のPCにコードだけもっていってやると文字化けするかも

plt.rcParams[‘font.family’]で設定

rcParamsでは色々な設定ができますが、特にrcParams['font.family']でfontを設定できます

import matplotlib.pyplot as plt
plt.rcParams["font.family"] = "Hiragino sans"

x = [1, 2, 3, 4, 5, 6]
y = [3, 5, 1, 9, 7, 2]

plt.plot(x, y)
plt.title('折れ線グラフ')
plt.show()

rcParamsについてはこちらの記事をご覧ください。

matplotlibの設定ファイルを書き換える

matplotlibにはmatplotlibrcという設定ファイルがあるのですが、
この設定ファイルを書き換えることで、いちいちコードで日本語フォントを指定する必要がなくなります

matplotlibrcがどこにあるかというと、以下のコードで確認できます

import matplotlib

print(matplotlib.matplotlib_fname())
#/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

人によって場所は違うと思いますが、僕はこんな感じでした

そしてmatplotlibrcを開くとこんな感じで色々と書かれていますが、
#font.family の後に記載されているフォントを変更することでデフォルトのフォントを変更することができるのです

#font.family:  sans-serif
       ⬇︎
#font.family:  Hiragino sans

と書き換えて、保存しましょう(Hiragino sansが使えない場合は適宜日本語の使えるフォントにしてください)

import matplotlib.pyplot as plt

print(plt.rcParams['font.family'])

コメント