matplotlib不会在legend中写\近似乳胶字符?

2024-06-26 00:02:02 发布

您现在位置:Python中文网/ 问答频道 /正文

由于某些原因,我无法让matplotlib在图例中写下\approx乳胶符号。在

以下是MWE:

import matplotlib.pyplot as plt
plt.scatter([0.5, 0.5], [0.5, 0.5], label='$U_{c} \approx %0.1f$' % 22)
#plt.scatter([0.5, 0.5], [0.5, 0.5], label='$U_{c} \simeq %0.1f$' % 22)
#plt.scatter([0.5, 0.5], [0.5, 0.5], label='$U_{c} \sim %0.1f$' % 22)
plt.legend(fancybox=True, loc='upper right', scatterpoints=1, fontsize=16)
plt.show()

请注意,第一行不会显示\approx字符或其后面的值,但\simeq和{}都可以正常工作。在

我刚刚在^{的Github中打开了一个new issue,但我突然想到我可能做错了什么,所以我最好问问。如果是,我将删除关闭它。在


Tags: importmatplotlibas符号原因pltsimlabel
1条回答
网友
1楼 · 发布于 2024-06-26 00:02:02

尝试使用原始字符串文本:r'$U_{c} \approx %0.1f$'。在

^{1}$

enter image description here

发生这种情况的原因如下:

  • 没有字符串文本前面的r,解释器将字符串解释为:

    '$U{c}'+'\a'+'pprox 22.0$'

  • '\a'是ASCII Bell的一个特殊转义字符:BEL

  • 这个被解释的字符串随后被传递给TeX解析器。但是,由于'\approx'被混搭在一起,TeX解析器不知道如何将字符串转换为正确的TeX

要确保字符串中的反斜杠(\)不会创建奇怪的转义字符,请在前面添加r。在

相关问题 更多 >