プレゼンテーション用に高品質の図を生成したい。グラフィックスの生成には Python の matplotlib を使用しています。残念ながら、PDF エクスポートは私のフォント設定を無視しているようです。
FontProperties
オブジェクトをテキスト描画関数に渡すことと、オプションをグローバルに設定することの両方で、フォントを設定しようとしました。記録として、問題を再現するための MWE を次に示します。
import scipy
import matplotlib
matplotlib.use('cairo')
import matplotlib.pylab as pylab
import matplotlib.font_manager as fm
data = scipy.arange(5)
for font in ['Helvetica', 'Gill Sans']:
fig = pylab.figure()
ax = fig.add_subplot(111)
ax.bar(data, data)
ax.set_xticks(data)
ax.set_xticklabels(data, fontproperties = fm.FontProperties(family = font))
pylab.savefig('foo-%s.pdf' % font)
どちらの場合も、作成された出力は同じで、Helvetica を使用しています (はい、両方のフォントがインストールされています)。
念のために言っておきますが、次の方法も役に立ちません。
matplotlib.rc('font', family = 'Gill Sans')
最後に、代わりにネイティブ ビューアーを使用してバックエンドを置き換えると、次のようになります。
matplotlib.use('MacOSX')
正しいフォントが表示されますが、ビューアー GUIでのみ表示されます。PDF 出力が再び間違っています。
確かに、他のフォントを設定できますが、他のクラスのフォント ファミリのみを設定できます。serif
フォントまたはfantasy
またはを設定できますmonospace
。しかし、すべてのサンセリフ フォントはデフォルトで Helvetica に設定されているようです。