如何在 Matplotlib 生成的 PDF 中嵌入字体


要在 Matplotlib 生成的 PDF 中嵌入字体,我们可以使用 rc.Params['pdf.fonttype']=42

步骤

  • 设置图形大小并调整子图之间及周围的填充。
  • 使用 figure() 方法创建新图形或激活现有图形。
  • 使用 numpy 创建 xy 数据点。
  • 使用 scatter() 方法绘制 xy 数据点。
  • 设置绘图标题。
  • 以 pdf 格式保存图形。

示例

import numpy as np
from matplotlib import pyplot as plt, font_manager as fm

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
plt.rcParams['pdf.fonttype'] = 42

fig, ax = plt.subplots()
x = np.random.rand(100)
y = np.random.rand(100)

ax.scatter(x, y, c=y, marker="v")

fprop = fm.FontProperties(fname='C:\Windows\Fonts\MISTRAL.TTF')

ax.set_title('Scatter Plot With Random Points',
            fontproperties=fprop, size=20, fontweight="bold")

plt.savefig("demo.pdf")

输出

执行代码后,它会将下图作为 "demo.pdf" 保存到项目目录中。

观察标题的字体样式。我们已将标题设置为 Mistral 字体

更新于:2021 年 6 月 16 日

1K+ 次浏览

开启你的 职业生涯

完成课程获得认证

开始学习
广告