### 问题由来
在学术论文里面,通常要求中文格式_宋体,英文格式为_Times New Roman。
在Python的Matplotlib中的默认字体不能满足 ,因此需要通过下列方法进行设置:
## 字体环境设置
import matplotlib.pyplot as plt
from matplotlib import rcParams
from matplotlib.font_manager import FontProperties
# 全局字体设置,
SimSun = FontProperties(fname='C:\WINDOWS\Fonts\SIMSUN.TTC') # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
Times_New_Roman = FontProperties(fname='C:\WINDOWS\Fonts\TIMES.TTF')
# 混合字体设置,
config = {
# "font.family":'serif',
# "font.size": 80,
"mathtext.fontset":'stix',
# "font.serif": ['SimSun'],
}
rcParams.update(config)
#画布设置
fig = plt.figure(num=1, figsize=(9, 6),dpi=180)
ax = plt.axes((0.23,0.23,0.6,0.6))
## 字体效果应用
ax.set_title('中文宋体 $\mathrm{Times}$ $\mathrm{New}$ $\mathrm{Roman}$ $\mathrm{123}$'\
,fontproperties=SimSun,fontsize=12) #中英混合字体
ax.set_xlabel('测试测试',fontproperties=SimSun,fontsize=12) #仅中文宋体
ax.set_ylabel('TestTest',fontproperties=Times_New_Roman,fontsize=12) #仅英文新罗马
plt.show()
### 效果展示(代码效果 &. 我的使用案例)
### 参考资料
全局字体思路:
如何将matplotlib中全局的中文设置成宋体_-Heres-的博客-CSDN博客_matplotlib 宋体
混合字体思路:
Python画图新罗马字体调整_张先生-您好的博客-CSDN博客_python画图字体如何设置新罗马