• Python3のぺージに戻る
  • MatplotlibでTimes New Romanを使えるようにする

    *他の英字フォントも同様の設定で導入することができる。
    *anacondaを使っている場合,環境毎に設定する必要がある。

    1. TrueTypeFontファイル(.ttf)を準備する
    2. Times New Romanのttfファイルを用意する。BoldやItalicも用意するとそれらも使えるようになる。

    3. Matplotlibのフォントを保存しているディレクトリを調べる。
    4. python3
      >>> import matplotlib
      >>> matplotlib.matplotlib_fname()
      # '/home/user/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc'
      >>> exit()
      

    5. ${path-to-mpldata}/mpl-data/fonts/ttfにTimes New Romanのttfファイルを保存する。
    6. 以下のコマンドは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/
      

    7. ~/.cache/matplotlibを削除する。
    8. matplotlibのキャッシュリスト内にあるフォントリストを更新するために,以下のコマンドでディレクトリごと削除する。
      フォントリストは次回matplotlib呼び出し時に再生成され,このときにTimes New Romanもフォントリストに加わる。

      rm -r ~/.cache/matplotlib

    9. フォント追加が反映出来ているかどうか確認。
    10. matplotlibで任意の図を描いてみる。図を描く前に以下のコードでfont.family要素を変更すること。

      plt.rcParams['font.family'] = 'Times New Roman'