Matplotlibプロットの凡例でTimesNewRomanのフォントを表示したいと思います。他のすべての目盛りラベル/軸ラベル/タイトルをTimesNew Romanに変更し、ドキュメントを検索しましたが、pyplot.legend()
もちろん、投稿してすぐに答えが見つかりました。同じ問題を抱えている他の人のための解決策:
import matplotlib as mpl
mpl.rc('font',family='Times New Roman')
これはグーグルの結果に表示されていなかったので、私はそれを答えとして投稿するつもりです。フォントのrcパラメータを使用して、単一のデフォルトフォントを設定できます。
同じ問題を抱えている他の人のための解決策:
_import matplotlib as mpl
_
mpl.rc('font',family='Times New Roman')
.rc
与えられた解決策は、すべての図面のデフォルトフォントを変更します。
すべてのフォントを変更するのではなく、この特定のグラフの凡例(特定のaxis
オブジェクトに属する凡例)のフォントプロパティのみを変更する場合に、これを行うための解決策を次に示します。
L = ax.legend()
plt.setp(L.texts, family='Consolas')
これにより、凡例と軸に異なるフォントを選択できます。これは、凡例に等幅フォントが必要なときに役立ちますが、軸には必要ありません。次のようなきちんとした凡例を作成できます。
タイトルが凡例とは異なるフォントであることに注意してください。これにより、他の方法では実現が難しい数字の配置が得られます。
これがより良い方法だと思います。
import matplotlib.font_manager as fm
## your font directory
font_path = '/Users/frhyme/Library/Fonts/BMDOHYEON_otf.otf'
## font_name
font_name = fm.FontProperties(fname=font_path).get_name()
plt.legend(prop={'family':font_name, 'size':20})