【发布时间】:2014-06-22 11:37:05
【问题描述】:
我有一个关于在 python 中使用 TeX 的问题。
我启用了以下软件包:
import numpy
import matplotlib
import matplotlib.pyplot as plt
matplotlib.rc('text', usetex = True)
matplotlib.rc('font', **{'family' : "sans-serif"})
params = {'text.latex.preamble' : [r'\usepackage{siunitx}', r'\usepackage{sfmath}']}
plt.rcParams.update(params)
可以在我的previous question 中查找原因。
不过,我现在也可以使用amsmath 包的字体了。当我将它包含在参数中时,它没有响应。我所需要的只是amsmath 用“a”标记绘图的 x 轴。
所以要告诉你我有什么:
以及我想要的(关于 x 标签):
请注意,为了生成第二张图片,我将sfmath 更改为amsmath。这立即弄乱了 x 和 y 刻度。这是我不想发生的事情。
是否可以将单个字母/单词的字体样式更改为amsmath 的字体样式?这样我就可以在指示我的图形的 x-label 时只使用该字体样式。
另一种方法是在params 中将sfmath 替换为amsmath,并确保刻度看起来像第一张图片。
谢谢
顺便说一句,这些数字是使用以下方法创建的:
fig = plt.figure()
ax1 = fig.add_subplot(1, 1, 1)
ax1.set_xlabel(r"$a$", fontsize = 14)
plt.show()
【问题讨论】:
-
我明白你的问题,但为了激励我们为你找到解决方案:第二张图片中的刻度有什么问题?
-
在这种情况下,错误可能有点太强了。我不介意字体。问题是因为
usetex = True,所有的刻度都是TeX。这会使蜱变细。在不增加它们的大小的情况下,如果它们稍微大胆一点,我会接受它们。 -
我在下面添加了一个new answer,它似乎可以满足您的需求。如果这不是您要查找的内容,您能否添加评论,说明看起来有什么问题?
标签: python matplotlib latex tex