如何更改python中数学形式的$$中的字体

当我尝试使用 matplotlib 绘制图形时,我用文本和“数学文本”编写了 x 轴标签。因为必须在标签上写化学式,所以写成'$CO_2$浓度'。问题是我希望字体应该是新罗马时代,但我无法以某种方式更改美元符号中的字体。有没有人可以帮我修复它?非常感谢!


import numpy as np 

import matplotlib.pyplot as plt

import pandas as pd


xf1 = 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


慕森王
浏览 321回答 2
2回答

MM们

我发现一次性定义整个字体系列比独立定义更好(假设您想要相同的字体)。试试这个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')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python