我正在尝试使用以下化学式自动标记 Python2.7 中 Matplotlib 图的 x 轴,该化学式以数字作为下标,不带斜体。
这里有一个代码来显示这一点:
import numpy as np
import pylab as plt
x = np.array([1,2,3,4])
y = np.array([1,2,3,4])
chem_list = ['H2O','CO2','X7Z4']
for j, elem in enumerate(chem_list):
plt.plot(x,y)
plt.xlabel(chem_list[j])
plt.legend(loc=1)
plt.show()
x 轴标签来自列表。列表中的每个项目都是一个标签,我需要将其用作标签中的文本。
这个方法有效,但是,文本是斜体的,我需要避免斜体文本。另一篇产生斜体文本的帖子:here.
我的问题示例:
对于循环的第一次迭代,我想使用 H2O ax 作为 x 轴标签,但我不希望它变为斜体。
有没有办法在Python中做到这一点?
根据文档 (http://matplotlib.org/users/mathtext.html),您可以使用
\mathregular{...}
在数学文本表达式中使用常规文本。例如,对于您的情况,您可以写:
chem_list = ['$\mathregular{H_2O}$','$\mathregular{CO_2}$','$\mathregular{X_7Z_4}$']
chem_list = ['H$\sf{_2}$O','CO$\sf{_2}$O','X$\sf{_7}$Z$\sf{_4}$']