为什么matplotlib不使用我提供的.ttf字体?

我试图在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()

这是因为你正在使用的后端。

当我试图做与我的默认后端MacOScairo后端类似的东西,它没有工作。

但是,当我切换到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')

生成的图像带有自定义字体。

链接地址: http://www.djcxy.com/p/64471.html

上一篇: Why doesn't matplotlib use the .ttf font that I provide?

下一篇: Catastrophic failure when Impersonate other user