matplotlibでの日本語のフォント

matplotlibでは、日本語が化けてしまう。

化けないようにしてみよう。

ネットで調べてみると、matplotlibのフォントのフォルダは、初期設定と同じフォルダの中にあるらしい。

まず初期設定のフォルダの場所を探してみる。

import matplotlib
matplotlib.matplotlib_fname()
'/Applications/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc'

 

mpl-dataというフォルダーの中に、フォントのフォルダがあるでしょう。

じゃ、mpl-dataに作業ディレクトリーを移す。

cd /Applications/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data
pwd
'/Applications/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data'<

 

中のフォルダを確認してみる。

ls -a
fonts/        images/       matplotlibrc  stylelib

 

fontsのフォルダ確認。

/Applications/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-dataの中のフォントのフォルダに日本語のフォントを入れれば、よろしい。

日本語のフォントをダウンロード ファイルの拡張子がttfなので、fonts/ttfの中に、ダウンロードしたフォントを入れる。

次に、フォントキャッシュをクリアにする。これをやっておかないと、キャッシュが、ダウンロードしたフォントを有用にしないらしい。

フォントキャッシュの場所を探す。

import matplotlib as mpl
mpl.get_configdir()

 

確認した場所に、作業ディレクトリを移す。

そして、そのなかのキャッシュファイルをリムる。

rm -r  fontlist-v310.json  tex.cache/

 

オッケー〜
これで完了の..はず。

ためしてみよー。

import numpy  as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'IPAPGothic' 
*ここの書き方を覚える気さえない。
じつは、必要に応じて、じぶんのウェッブページを検索するつもり。

x= np.arange(-1,1.1,0.1)
y=x**2

plt.plot(x,y)
plt.xlabel('xの数値')

 

うまく、いっておる〜

 

気づいたことを、お気軽に。
公開まで、やや時間がかかりまーす!