matplotlib 标签和图例中的“半空间”

a.s*_*iet 3 python matplotlib

如何在 matplotlib 标签或图例的文本中插入半个空格,例如在数字及其单位之间?一个简单的解决方法是使用 Latex 渲染,但是还有其他方法吗,例如使用 unicode 字符?

tmd*_*son 5

您可以使用 unicode 细空格字符u"\u2009"

例如,比较此处图例文本中“10”和“km”之间的空格宽度:

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(1)

ax.plot(np.arange(5), 'r-', label='10 km (normal space)')
ax.plot(5.-np.arange(5), 'b-', label=u"10\u2009km (thin space)")

ax.legend()

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 也许更自我记录,`u"10\N{thin space}km"`也有效。 (2认同)

Imp*_*est 5

您不需要使用乳胶渲染。普通的 MathText 就足够了。它仍然具有最基本的乳胶功能,例如\,可用的小空间。

import matplotlib.pyplot as plt

plt.plot([1,2], label='$100\,$s')
plt.plot([1,3], label='$100$ s')

plt.legend()

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述