如何避免在matplotlib调用乳胶(输出到PGF)

问题描述 投票:1回答:1

我使用matplotlib其PGF后台生成图表,我包括我的LaTeX的投影仪文件内。我遇到麻烦时,我用没有定义,天然乳胶的命令。但对于我的申请,我不需要matplotlib生成标签或注释乳胶,我只想要一个正确的PGF输出和我会打电话乳胶在我的投影仪文件。如果我将运行在笔记本这个代码,我希望只是为了有一个文字的xlabel“\ SI {\%的}”的阴谋。

在下面的MWE,当我与注释行运行(使用\si{\percent}),matplotlib崩溃用胶乳错误(“未知命令SI”)。我不想创建matplotlib序言,我只想包含\ SI {\%的}命令的输出PGF ...

如果使用双反斜杠,代码经过但也出现在输出PFG将双反斜线,因此胶乳不能识别指令(它看到一个新行,我想)。

我不明白的plt.rc(“文”,usetex = FALSE)的“价值”。我认为这将禁用调用乳胶产品总数...

import numpy as np
import matplotlib as mpl
mpl.use('pgf')
from matplotlib import pyplot as plt
from matplotlib import rc
plt.style.use('bmh')
plt.rc('pgf',rcfonts=False)
plt.rc('text', usetex=False)
x = np.linspace(0,100,101)
y = np.cos(x/100)*np.exp(-x/100)
plt.plot(x,y)
#plt.xlabel(r'value (\si{\percent})')
plt.xlabel(r'value (%)')
plt.savefig('test.pgf')
python matplotlib latex pgf
1个回答
0
投票

是否有任何理由,你为什么犹豫包括前导?这样做使一个简单的解决方案。对我来说,以下工作:

import numpy as np
import matplotlib as mpl

mpl.use('pgf')

from matplotlib import pyplot as plt

pgf_with_latex = {
        'text.usetex': False,
        'pgf.rcfonts': False,
        "pgf.preamble": [
                r"\usepackage{siunitx}"
                ]
}

mpl.rcParams.update(pgf_with_latex)

plt.style.use('bmh')

x = np.linspace(0,100,101)
y = np.cos(x/100)*np.exp(-x/100)
plt.plot(x,y)

plt.xlabel(r'value (\si{\percent})')
plt.savefig('test.pgf')
© www.soinside.com 2019 - 2024. All rights reserved.