我使用 matplotlib。我需要获得 xlabel,例如:[1/8,2/8,3/8,4/8..14/8]。我想把它做成一个循环。因此,为了更好地查看,我在 Python 中使用 TEX。为了在循环中渲染分数表达式,我使用 .format 方法。但它不能正常工作。在 TEX 中使用 {} 和 .format 方法之间存在一些冲突。我尝试使用 double {} 但它也不起作用。
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
xax = ax.xaxis # get x axis
labels = ['0']
for i in range(0, 14):
labels.append(r'$\frac{}{8}$'.format(i)) # when trying to insert i an error occurs
xax.set_ticklabels(labels)
plt.show()
您需要转义大括号 ({
) 和另一个花括号。
r'$\frac{{{}}}{{8}}$'.format(i)
这里是最里面的括号对{{{}}}
用于格式化。逃脱对{{
在格式化期间被替换为单个括号。因此r'$\frac{{{}}}{{8}}$'.format(1)
将导致r'$\frac{1}{8}$'
,这是一个有效的 MathText 字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)