使用 matplotlib.rc
我可以更改字体系列以及每个系列中的字体。
rc('font',family='serif')
rc('font',serif='Helvetica')
但是,我有一个特定的 TTF 字体文件未安装在系统中,但我想使用它。有没有办法指定字体配置的绝对路径?
最佳答案
有一种方法可以使用系统中未安装的字体。例如:
import matplotlib.font_manager
import matplotlib.pyplot as plt
import matplotlib.text
# load the font properties
font = matplotlib.font_manager.FontProperties(fname="/tmp/Warenhaus-Standard.ttf")
font.set_size(28)
# draw a figure
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_xlim(0,1)
ax.set_ylim(0,1)
ax.add_artist(matplotlib.text.Text(0.05, 0.45, "Special Font (Warenhauser)", fontproperties=font))
创建:
如果您查看代码并且喜欢使用有状态接口(interface)的 PyLab 风格,那么代码的重要部分仍然是相同的(font=...
和 kwarg fontproperties=字体
)。
不过,有一些注意事项。也许最重要的是,如果未安装,特殊字体不一定会显示在屏幕上(如果后端使用操作系统字体,至少 MacOSX 后端是这样),但它仍然由 savefig< 保存
.
查看matplotlib.font_manager
文档可能会很有启发。字体管理实际上相当复杂。
关于fonts - 如何使用绝对路径更改matplotlib中的字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25220096/