fonts - 如何使用绝对路径更改matplotlib中的字体?

标签 fonts matplotlib

使用 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))

创建:

enter image description here

如果您查看代码并且喜欢使用有状态接口(interface)的 PyLab 风格,那么代码的重要部分仍然是相同的(font=... 和 kwarg fontproperties=字体)。

不过,有一些注意事项。也许最重要的是,如果未安装,特殊字体不一定会显示在屏幕上(如果后端使用操作系统字体,至少 MacOSX 后端是这样),但它仍然由 savefig< 保存.

查看matplotlib.font_manager文档可能会很有启发。字体管理实际上相当复杂。

关于fonts - 如何使用绝对路径更改matplotlib中的字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25220096/

相关文章:

android - 无法在我的项目中使用此处发布的示例类

c - 使用openGL ES 2.0结合其他画线功能进行字体渲染(Freetype)不起作用

java - 在 JavaFX 中绑定(bind)字体大小?

python - Seaborn barplot 为色调添加 xticks

python - 在 python/pyplot 中绘制任意二维函数,如 Matlab 的 Ezplot

linux - 如何准备一个 Linux 应用程序来查找 ttf 字体目录?

JavaScript 通知功能

python - 如何根据 SciPy 中的给定数据设置 numpy.arange 的值?

python - 如何为聚类数据添加图例到 Matplotlib?

python - 为什么 matplotlib 外推/绘制缺失值?