matplotlib won#39;t write approx LaTeX character in legend?(matplotlib 不会在图例中写 approx LaTeX 字符?)
问题描述
由于某种原因,我无法让 matplotlib 在图例中写下 approx LaTeX 符号.
For some reason I can't get matplotlib to write down the approx LaTeX symbol in a legend.
这是一个 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 和 sim 都可以正常工作.
Notice the first line will not show the approx character or the value after it but both simeq and sim work fine.
我刚刚在 matplotlib 的 Github 但我突然想到我可能做错了什么,所以我最好问一下.如果是,我会删除关闭它.
I've just opened a new issue in matplotlib's Github but it occurred to me that I might be doing something wrong so I better ask. If I am, I'll delete close it.
推荐答案
尝试使用原始字符串文字:r'$U_{c} approx %0.1f$'.
Try using a raw string literal: r'$U_{c} approx %0.1f$'.
In [8]: plt.scatter([0.5, 0.5], [0.5, 0.5], label=r'$U_{c} approx %0.1f$'%22)
Out[8]: <matplotlib.collections.PathCollection at 0x7f799249e550>
In [9]: plt.legend(fancybox=True, loc='best')
Out[9]: <matplotlib.legend.Legend at 0x7f79925e1550>
In [10]: plt.show()
出现这种情况的原因如下:
The reason this is happening is as follows:
如果字符串文字前面没有
r,则字符串被解释器解释为:
Without the
rinfront of the string literal, the string is interpreted by the interpreter as:
'$U_{c}' + 'a' + '大约 22.0$'
'$U_{c} ' + 'a' + 'pprox 22.0$'
'a' 是 ASCII Bell 的特殊转义字符:BEL.
The 'a' is a special escaped character for the ASCII Bell: BEL.
为确保字符串中的反斜杠 () 不会产生奇怪的转义字符,请在前面添加 r.
To make sure backslashes () in the string aren't creating weird escaped characters, add the r out front.
这篇关于matplotlib 不会在图例中写 approx LaTeX 字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:matplotlib 不会在图例中写 approx LaTeX 字符?
基础教程推荐
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
