MatplotlibでTimes New Romanを使えるようにする
*他の英字フォントも同様の設定で導入することができる。 *anacondaを使っている場合,環境毎に設定する必要がある。
- TrueTypeFontファイル(.ttf)を準備する
- Matplotlibのフォントを保存しているディレクトリを調べる。
- ${path-to-mpldata}/mpl-data/fonts/ttfにTimes New Romanのttfファイルを保存する。
- ~/.cache/matplotlibを削除する。
- フォント追加が反映出来ているかどうか確認。
Times New Romanのttfファイルを用意する。BoldやItalicも用意するとそれらも使えるようになる。
python3 >>> import matplotlib >>> matplotlib.matplotlib_fname() # '/home/user/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc' >>> exit()
以下のコマンドはTimes New Romanのファイル名が"timesnewroman.ttf"であり,
${path-to-mpldata}が/home/user/anaconda3/lib/python3.7/site-packages/matplotlibである場合
cp timesnewroman*.ttf /home/user/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/
matplotlibのキャッシュリスト内にあるフォントリストを更新するために,以下のコマンドでディレクトリごと削除する。
フォントリストは次回matplotlib呼び出し時に再生成され,このときにTimes New Romanもフォントリストに加わる。
rm -r ~/.cache/matplotlib
matplotlibで任意の図を描いてみる。図を描く前に以下のコードでfont.family要素を変更すること。
plt.rcParams['font.family'] = 'Times New Roman'