python - matplotlib 标签中的下标文本

标签 python matplotlib label output subscript

这是我的第一个问题,我是 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 中的下标是如何工作的?

非常感谢!

最佳答案

尝试改变这一行

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""而不是 "".

关于python - matplotlib 标签中的下标文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17138464/

相关文章:

python - 在 matplotlib 中用两个 Y 轴(两个单位)绘制单个数据

python - 配对时更改箱线图的颜色

user-interface - Matplotlib 绘图用滚轮缩放

python - 在python中读取和操作多个netcdf文件

javascript - 选择(几乎)元素旁边的文本

c++ - Qt C++ 用按钮增加整数来标记

ios - 表格单元格中显示长文本标签,但如何在 Swift 中的第二行添加边距?

python - 需要动态查找表时的迭代与递归

python - 如何在 Python 中使用服务帐户向 Google Cloud 进行身份验证?

python - 如何舍入 Pandas 数据框中的日期时间索引?