如何插入大的正斜杠来标记matplotlib轴

时间:2017-08-01 07:21:45

标签: python matplotlib latex

我想知道如何在标记matplotlib轴时插入一个大的正斜杠符号。

即使在使用plt.rcParams导入amsmath包之后,在普通乳胶环境中应该起作用的技巧也不起作用。

import matplotlib.pyplot as plt
params = {'text.latex.preamble' : [r'\usepackage{amsmath}']}
plt.rcParams.update(params)
plt.plot([0,1],[0,1])
# Doesn't display properly!
plt.xlabel(r'$\left. \int \limits_{a}^{b} \frac{x}{y} \middle/ \int \limits_c^d \frac{x}{y} \right.$')

我收到以下错误消息:

ValueError: 
\left. \int \limits_{a}^{b} \frac{x}{y} \middle/ \int \limits_c^d \frac{x}{y} \right.
                                    ^
Expected "\right" (at char 40), (line:1, col:41)

2 个答案:

答案 0 :(得分:2)

我刚遇到同样的问题,我找到了一个没有usetex=True的解决方案。 Matplotlib将/\left结合使用,因此您可以执行以下操作:

plt.xlabel(r'$ \int_{a}^{b} \frac{x}{y} \left/ \int_c^d \frac{x}{y} \right. $')

结果:

Matplotlib formula with large slash

答案 1 :(得分:0)

问题不是正斜杠,而是\middle命令。我试图在中间放大/但没有成功。但是,您可以通过为其提供更多空间来使其更加明显:

plt.xlabel(r'$ \int_{a}^{b} \frac{x}{y} $ / $\int_c^d \frac{x}{y} $')

我一起删除了\left\right,因为我没有看到使用它的任何区别。此外,\limits似乎不适用于标准乳胶引擎,我也废弃了它们。

目前看起来像:

Equation using normal engine

如果这是不可接受的,我建议遵循DavidG的建议,使您的原始命令有效。它看起来像:

Equation using LaTeX