matplotlibで日本語を使用するにはコードで明示的に指定してあげるか、
設定ファイルのフォント設定を変更してあげる必要があります。
(じゃないと下の画像の通り、日本語がトーフ文字になってしまいます)
![matplotlib 日本語 文字化け](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/465ce998a63d67d2b17fd500472dc275.png)
これはmatplotlibのfont.familyで設定している値が日本語に対応していないためです。
#matplotlibのfont.familyのパラメータを確認します。
import matplotlib
print(matplotlib.rcParams[‘font.family’])
![](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/matplotlib_font.family.png)
今回はmatplotlibで日本語を扱えるように設定ファイルを作成する方法を紹介します。
環境
OS | MacBook(M1) |
Python | 3.9.1 |
matplotlib | 3.3.3 |
matplotlibの設定ファイルを作成し、日本語を使えるようにしよう
matplotlibの設定ファイルパスを確認します。
import matplotlib
print(matplotlib.get_configdir())
![matplotlib configdir](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/5dee0165838e975c356d608fba133e35-1024x271.png)
ターミナルを起動して設定ファイルを作るフォルダまで移動します。
![maplotlib.get_configdirで確認したフォルダパス](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/62f4cc756632d0250ee2324a333d103b-1-1024x131.png)
matplotlibの設定ファイルを移動したフォルダで作成します。
vi ./matplotlibrc
INSERTモード([I])に切り替えて、以下を入力し保存([esc]+:wq)します。
(今回はMacにデフォルトでインストールされている「Hiragino sans」を指定します)
font.family : Hiragino sans
![matplotlibrcの日本語フォント設定](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/4e0d0d8356eba4a507d18be9360d904e-1024x666.png)
matplotlibのフォント設定確認
再度、以下を実行してみると作成したmatplotlibrcで指定したフォントになっているはずです。
import matplotlib
print(matplotlib.rcParams[‘font.family’])
![](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/9e66ebf992929ff2e959836b3f09e78a-1024x262.png)
日本語が文字化けしないかサンプルコードを実行します。
import numpy as np
import matplotlib.pyplot as plt
s = np.sin(np.pi*np.arange(0.0, 10.0, 0.05))
t = plt.plot(s, color=”r”)
plt.title(“TESTグラフ”)
plt.show()
![matplotlib japanese graph](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/ecf80587aa8d54f36c96dce32848fd8f-1015x1024.png)
コメント