2022年12月5日月曜日

matplotlibで日本語フォント

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
fp = FontProperties(fname=r'/System/Library/Fonts/ヒラギノ丸ゴ ProN W4.ttc', size=16)

plt.plot([1], [2], '^')
plt.xlabel("test日本語", fontproperties=fp)
とかやればいいようだ。 jupyter notebookでもいける。 フォントのパスを設定しなければならないのが面倒だが、
from matplotlib.font_manager import findfont

fp = FontProperties(fname=findfont('Osaka'), size=16)
のようにすることもできるようだ。ただ、うまく見つけてくれない場合もあるようで、 よくわからない。Osakaは見つかるがヒラギノはこの方法だとうまく行かない。わからん。。
fp = FontProperties(fname=findfont('Hiragino Sans'), size=16)
でヒラギノ角ゴシックはいけるが、ヒラギノ丸ゴシックはうまく設定できなかった。なにがちがうのか。。

逐一設定しなければならないのは面倒。 デフォルトのfontproperties を設定する方法はないのだろうか。 こちらによれば、下のようにすればいちいち設定しなくて済む。 しかし、ラベル以外に日本語フォントを使うのはあんまり良くないかもしれない。見栄えが悪い。

plt.rcParams["font.family"] = "Hiragino Sans"
plt.rcParams["font.size"] = 16

plt.plot([1], [2], '^')
plt.xlabel("test日本語")
plt.ylabel("test日本語")  

0 件のコメント: