如何在 matplotlib 标签或图例的文本中插入半个空格,例如在数字及其单位之间?一个简单的解决方法是使用 Latex 渲染,但是还有其他方法吗,例如使用 unicode 字符?
您可以使用 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)
您不需要使用乳胶渲染。普通的 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)