【发布时间】:2013-07-31 06:38:01
【问题描述】:
我想使用 Latex 计算机现代字体为我的绘图创建标签。然而,说服 matplotlib 使用 Latex 字体的唯一方法是插入如下内容:
title(r'$\mathrm{test}$')
这当然很荒谬,我告诉latex 启动数学模式,然后暂时退出数学模式以写入实际字符串。如何确保所有标签都以乳胶呈现,而不仅仅是公式?我如何确保这将是默认行为?
一个最小的工作示例如下:
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
# use latex for font rendering
mpl.rcParams['text.usetex'] = True
x = np.linspace(-50,50,100)
y = np.sin(x)**2/x
plt.plot(x,y)
plt.xlabel(r'$\mathrm{xlabel\;with\;\LaTeX\;font}$')
plt.ylabel(r'Not a latex font')
plt.show()
这给出了以下结果:
这里的 x 轴是我希望标签出现的方式。如何确保所有标签都显示为这样,而无需进入数学模式并再次返回?
【问题讨论】:
-
在我的系统上,默认行为是
usetex为所有内容启用 LaTeX,实际上我正在寻找您描述的行为(LaTeX 仅适用于$...$)。由于所有答案只提到必须如何设置font.family以实现您的情况,如果您可以指定实现这些非 LaTeX 字体的替代方案,那就太好了...
标签: python matplotlib latex