8

我在 matplotlib 中使用以下作为轴标签:

"Pixel Radiance ($W/m^2/\mu m$)"

但是,当我生成一个以此作为 y 轴标签的图形时,我得到了下图,它在 m^2 和 \mu 之间有一个奇怪的空间,这使它看起来很奇怪。我怎样才能删除这个奇怪的空间?

示例图

一个可重现的例子,不使用我自己的任何数据,是:

from matplotlib.pyplot import *
plot([1, 2, 3], [1, 2, 3])
ylabel("($W/{m^2}/\mu m$)")
4

2 回答 2

17

您可以使用负空间,\!

r"Pixel Radiance ($W/m^2\!/\mu m$)"

顺便说一句,我建议将原始字符串与 LaTeX 公式一起使用,因为这将防止 LaTeX 命令(或其中的一部分)被解释为反斜杠转义:您可能不希望\tau以制表符结尾,后跟au.

于 2012-07-29T21:23:22.103 回答
2

Matplotlib 尝试解释 Latex 代码并有自己的打印文本的方法。结果不一定与真正的 Latex 编译器的输出相匹配。如果你想要真正的 Latex 文本渲染,你必须启用text.usetexrc 参数。这还允许您加载 Latex 包(如 siunitx)并创建与您的文档匹配的图形(如果您打算包含它们)。

使用 Latex 时不会出现多余的空间。您可以只使用解决方法并添加一个负空格,但在为文档创建图形时我倾向于使用 Latex。

于 2012-07-30T01:29:37.047 回答