这是我的第一个问题,我是python的菜鸟。所以可能更多关注...
我想用matplotlib创建一个数字。在标签中,我想要包含一个化学公式,其中涉及下标(我认为同样适用于上标......)。
无论如何,我不知道这个标签应该是什么样的。
import numpy as nu
import pylab as plt
x = nu.array([1,2,3,4])
y = nu.array([1,2,3,4])
plt.plot(x,y, label='H2O')
plt.legend(loc=1)
plt.show()
好的,这给了我一个带有标签“H2O”的情节。如何在标签中下标“2”,这对化学式来说很常见?
我在网上搜索过,但我找不到任何有用的东西。
我想我可以使用
from matplotlib import rc
rc['text', usetex=True]
但我不想使用它(我知道如何使用LaTeX,但我不想在这里)。
另一种选择是:
label='H$_2$O'
但这会改变字体(数学)。
必须有一种方法,matplotlib-legends中的下标如何运作?
非常感谢!
答案 0 :(得分:2)
尝试更改此行
plt.plot(x,y, label='H2O')
为此:
plt.plot(x,y, label='$H_2O$')
用字体数学显示。
或者你也可以使用unicode字符:²(0xE2 /²)
plt.plot(x,y, label=u'H₂O')
或者代替:
plt.plot(x,y, label=u"H\u2082O")
请注意,unicode字符串标记为u“”而不是“”。