首页 > 解决方案 > matplotlib + 乳胶 + 自定义 ttf 字体

问题描述

我必须用python制作一个数字。我需要它来使用 Palatino 字体。我在这里下载了字体。我把它放在 *\matplotlib\mpl-data\fonts\ttf 下(结果证明它没有用,因为我必须提供完整的路径才能让它工作)。

使用以下行允许我使用字体:

prop = fm.FontProperties(fname='C:/Users/MyPC/pyApp/venv/Lib/site-packages/matplotlib/mpl-data/fonts/ttf/Palatino-Roman.ttf')
mpl.rcParams['font.family'] = prop.get_name()

耶。现在当我想在 matplotlib 中使用 Latex 时,

rc('text',usetex=True)

字体现在不是我想要的字体。我试图关注官方页面,而是使用:

rc('font',**{'family':'serif','serif':['Palatino']})
rc('text', usetex=True)

但我看不出有什么区别。我尝试了所有可能性,它看起来像相同的字体。我究竟做错了什么?也许它的乳胶方面缺少所需的字体包......

标签: pythonpython-3.xmatplotliblatex

解决方案


使用时可以加载任何乳胶包rc('text',usetex=True)

您可以在代码中添加它:

plt.rcParams['text.latex.preamble'] = [r'\usepackage{palatino, mathpazo}']


推荐阅读