8

matplotlib で TTF フォントを使用しようとしています。.ttf ファイルがダウンロードされ、私のマシンにローカルに保存されます。を使用してフォントを選択するために、このサイトの他の指示に従いましたfont_manager。ただし、フォント プロパティを使用しようとして生成したテキストは、デフォルトの matplotlib フォントで表示されます。

と同様のコマンドが必要なフォントの属性を表示するため、Python がフォント ファイルを正常に検出することはわかっていますprop.get_name()が、それは私の図に表示されるものではありません。助言がありますか?

例として:

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm

fig, ax = plt.subplots()

prop = fm.FontProperties(fname='/Users/smith/fonts/coolfont.ttf')
ax.set_title('Text in a cool font', fontproperties=prop, size=40)

fig.show()
4

1 に答える 1

5

使用しているバックエンドが原因です。

デフォルトのバックエンドで同様のことをしようとしたとき、バックエンドでは機能しませんMacOSでしcairo た。

しかし、あなたの例に切り替えて実行するaggTKagg、カスタムフォントがそこにありました。

これが私のマシンで実行されるように変更されたコードです

#!/usr/bin/env python
import matplotlib
matplotlib.use( "agg" )
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm

fig, ax = plt.subplots()
prop = fm.FontProperties(fname='Outwrite.ttf')
ax.set_title('Text in a cool font', fontproperties=prop, size=40)
plt.show()
plt.savefig('test.png')

結果の画像は、カスタム フォントを使用しています。

于 2013-01-05T12:16:26.160 に答える