当我尝试使用 matplotlib 绘制图形时,我用文本和“数学文本”编写了 x 轴标签。因为必须在标签上写化学式,所以写成'$CO_2$浓度'。问题是我希望字体应该是新罗马时代,但我无法以某种方式更改美元符号中的字体。有没有人可以帮我修复它?非常感谢!import numpy as np import matplotlib.pyplot as pltimport pandas as pdxf1 = pd.read_excel('1812_GPT.xlsx',sheetname= 'PVD_CO2CH4_600',usecols=[1])deltapx1 = pd.read_excel('1812_GPT.xlsx',sheetname= 'PVD_CO2CH4_600',usecols=[3])Px1 = pd.read_excel('1812_GPT.xlsx',sheetname= 'PVD_CO2CH4_600',usecols=[5])ax1 = plt.subplot(111) l1, = ax1.plot(xf1,Px1,'s',markerfacecolor='black')font1 = {'family' : 'Times New Roman','weight' : 'normal','size' : 14, }ax1.set_xlabel(r'$CO_2$ pressure', font1)ax1.set_ylabel(r'$CO_2$ concentration', font1)plt.show()这是图片链接,您可能会看到图片并发现“CO2”不在 Times new roman 中。 https://flic.kr/p/2dmh8pj
2 回答
MM们
TA贡献1886条经验 获得超2个赞
我发现一次性定义整个字体系列比独立定义更好(假设您想要相同的字体)。试试这个
plt.rc('text', usetex=True )
plt.rc('font', family='Times New Roman', weight='normal', size=14)
plt.rcParams['mathtext.fontset'] = 'Times New Roman'
ax1.set_xlabel('$CO_2$ pressure')
ax1.set_ylabel('$CO_2$ concentration')
添加回答
举报
0/150
提交
取消