对Matplotlib绘图使用不同的字体(Gentium)

2024-10-03 13:17:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用Gentium Plus作为matplotlib中的主字体,尤其是数字。 下面的工作是为了将Palatino用于所有事情,这对于数学字体来说是很好的。在

import matplotlib.pyplot as plt
font = {'family': 'serif', 'serif': ['Palatino'], 'size': 10}
plt.rc('font', **font)
plt.rc('text', usetex=True)

但我想有Gentium Plus的文字字体和数字。这可能吗?在


Tags: importmatplotlibas字体plusplt数字数学
2条回答

多亏了丹杜里,我找到了龙胆的名字

import matplotlib
import matplotlib.pyplot as plt
font = {'family': 'serif', 'serif': ['Gentium Basic'], 'size': 10}
plt.rc('font', **font)
matplotlib.rcParams['mathtext.fontset'] = 'custom'
matplotlib.rcParams['mathtext.rm'] = 'Gentium Basic'
matplotlib.rcParams['mathtext.it'] = 'Gentium Basic:italic'
matplotlib.rcParams['mathtext.bf'] = 'Gentium Basic:bold'

但是,如果你在数学公式中使用TeX,你可能需要使用一种不同于Gentium的字体,为了使数字具有相同的样式,你需要重新定义它们。在

^{pr2}$

您可以通过以下方法检查matplotlib中可用的字体。。在

import matplotlib.font_manager
list = matplotlib.font_manager.get_fontconfig_fonts()
names = [matplotlib.font_manager.FontProperties(fname=fname).get_name() for fname in list]
print names

要检查更多选项,可以检查documentation

相关问题 更多 >