Matplotlib中的非斜体LaTeX字体

3

我有一个matplotlib图,其中一个x轴标签有使用LaTeX创建的数学类型。问题是字体是斜体的,我需要它与先前文本的字体匹配(非斜体)。代码如下:

par2.set_xlabel("Flux ($neutrons/cm^2s)" , fontsize=26 , labelpad = 20)

我在另一个相关的问题 (链接) 中发现了一些建议,他们建议添加 \rm 并尝试了以下方法:

plt.xlabel(r'Primary T$_{\rm eff}$')

所以我的代码将如下所示:
par2.set_xlabel("Flux ($\rmneutrons/cm^2s)" , fontsize=26 , labelpad = 20)

但这只是在中子前面加了一个“m”

如何使字体非斜体,以便与其他所有内容匹配。

1个回答

5

尝试使用r"Flux, $\mathrm{neutrons} / \mathrm{cm}^2$"

顺便提一下,这与matplotlib无关,这是一个纯TeX问题。这里唯一与Python相关的事情是需要使用原始字符串r"注意引号前面的r"


谢谢!这样更有意义。 - Bogdan Janiszewski
这并没有回答问题。这个解决方案基本上强制用户通过应用TeX字体手动使绘图中出现的所有文本相同。真正的解决方案应该涉及更改TeX使用的默认字体以匹配Matplotlib使用的默认字体。 - Will.Evo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接