如何在matplotlib中获得更小的乳胶支架?

时间:2014-09-06 15:42:01

标签: python matplotlib latex

我在matplotlib中有以下表达式,使用乳胶代码:

ax.set_xlabel(r'\langle \epsilon \rangle', fontsize=18)

渲染epsilon时显着小于括号。支架的大小适合"包裹"一个大写字母。如何缩小括号?

1 个答案:

答案 0 :(得分:2)

在LaTeX的数学模式中,可以使用以下方法缩小范围:

  • \scriptstyle
  • \scriptscriptstyle

但是这些表达式在默认的matplotlib后端不起作用:

#!/usr/bin/python3

import matplotlib
custom_preamble = {
    "text.usetex": True,
    }

from matplotlib import pyplot as plt


x = range(5)
y = range(5)

fig = plt.figure()
ax = fig.add_subplot(111)

ax.text(0.5, 0.5,
    r"${\scriptscriptstyle(} {\scriptstyle(} (\varepsilon$",
    horizontalalignment = 'center',
    backgroundcolor = "white",
    verticalalignment = 'center',
    transform = ax.transAxes,
    )

ax.plot(x, y)

fig.savefig("mwe-1.png")

结果:

enter image description here

然而,为了获得更好的LaTeX支持,可以使用pgf后端,然后它可以工作:

import matplotlib
matplotlib.use("pgf")
# the rest is the same as in the code above

结果:

enter image description here

pgf后端已添加到matplotlib 1.3中。我想你需要在你的系统上安装一个可用的XeTeX(我认为相对二进制文件称为xelatex)。两个主要的LaTeX发行版(MiKTeX和TeXLive)都允许安装XeTeX。