在matplotlib标签中订阅文本

2024-05-16 08:33:55 发布

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

这是我的第一个问题,我是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”,就像化学公式中常见的那样?在

我在网上搜索,但还没有找到有用的东西。在

我想我可以利用

^{pr2}$

但我不想用它(我知道如何使用乳胶,但我不想在这里)。在

另一个选择是:

label='H$_2$O'

但这改变了字体(数学)。在

一定有办法,在matplotlib图例中订阅是如何工作的?在

非常感谢!在


Tags: 方法importnumpy图形matplotlibasplt标签
1条回答
网友
1楼 · 发布于 2024-05-16 08:33:55

试着改变这条线

plt.plot(x,y, label='H2O')

为此:

^{pr2}$

它用数学字体显示。在

或者您也可以使用unicode字符来表示该字符:х(0xE2/х)

plt.plot(x,y, label=u'H₂O')

或者取而代之的是:

plt.plot(x,y, label=u"H\u2082O")

请注意,unicode字符串被标记为u“”而不是“”。在

相关问题 更多 >