我想将我使用pyplot创建的“幂律”曲线的等式包括在内。我尝试了以下代码的几种变体:
ax.text(0.1,0.9,r'{0:}x$^{1:}$'.format(A,b))
当然文本渲染器使用大括号和格式语句。我试过将花括号加倍以便
ax.text(0.1,0.9,r'{0:}x$^{{1:}}$'.format(A,b))
甚至将它们增加三倍
ax.text(0.1,0.9,r'{0:}x$^{{{1:}}}$'.format(A,b))
我也尝试将文本分成两行
exponent = '{0:}$'.format(b)
ax.text(0.1,0.9,r'{0:}x$^'.format(A)+exponent)
这些对我或pyplot都没有意义,但我似乎无法提出正确的搜索问题来使其发挥作用。我找到了建议拆分线并使用双花括号的答案,但没有任何可以使这个工作。这可能吗?
编辑:
通过进一步的实验,我已经回答了上面的问题,这是我想在情节中加入的等式的简化版本,所以让我稍微改变一下这个问题。为了做我想做的事,我发现:
ax.text(0.1,0.9,r'{0:}x$^{{ {1:} }}$'.format(A,b))
的工作原理。我不知道为什么我没有早点尝试过,但我现在有。问题是我实际上也想要x上的下标。考虑到上述工作我会想到:
ax.text(0.1,0.9,r'{0:}x$^{{ {1:} }}_{{\rm map}}$
会起作用,但我收到以下错误:
下标/上标序列太长。使用大括号{}删除 歧义。 (在char 0),(line:1,col:1)
我看不到添加大括号的位置会消除任何歧义。谁能告诉我我需要做什么?
答案 0 :(得分:1)
这有效:
ax.text(0.1, 0.9, r'${0:}x^{{{1:}}}_{{\rm map}}$'.format(A, b))
问题是您的x
超出了数学模式($...$
)。
关于双花括号,有一个简单的解释:当使用格式函数时,所有单花括号都与格式函数的参数匹配(它们也可以嵌套)。两个后续花括号是 定义的方式,在应用格式后获得一个花括号。有关详细信息,请参阅documentation。