gpt4 book ai didi

python - matplotlib:在文本框中使用 LaTeX 时覆盖字符串中的下划线

转载 作者:行者123 更新时间:2023-12-01 04:46:07 25 4
gpt4 key购买 nike

我需要在绘图的文本框中写入包含下划线的变量名称,并且在 LaTeX 环境中(因为我还需要编写一些数学代码)。

问题是 LaTeX 将变量名称中的下划线解释为子索引命令,并且变量名称被扭曲。请参阅(下面的 MWE):

enter image description here

其中变量的名称是m_out

如何编写包含下划线的字符串而不将 LaTeX 解释为子索引命令?

在纯 LaTeX 中,我可以使用 \textunderscore 命令来编写:

N = m \textunderscore out \pm 0.2

正确产生:

enter image description here

但这似乎在这里不起作用。

<小时/>

MWE

import matplotlib.pyplot as plt
import matplotlib.offsetbox as offsetbox
import random

# Generate random data.
x = [random.random() for i in xrange(10)]
y = [random.random() for i in xrange(10)]

# Define string with underscore.
name = 'm_out'

# Create plot.
fig = plt.figure()
ax = plt.subplot()

# Add text box
text = r'$N={}\pm0.2$'.format(name)
ob = offsetbox.AnchoredText(text, loc=1, prop=dict(size=12))
ax.add_artist(ob)
plt.scatter(x, y)

# Save plot to file.
fig.tight_layout()
plt.savefig('out.png')

最佳答案

简单的转义就可以了:

name = 'm\_out'

matplotlib-generated image

关于python - matplotlib:在文本框中使用 LaTeX 时覆盖字符串中的下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29372643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com