Python 科研风格字体(中文宋体、英文新罗马)

### 问题由来

在学术论文里面,通常要求中文格式_宋体,英文格式为_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()

### 效果展示(代码效果 &. 我的使用案例)

Python 科研风格字体(中文宋体、英文新罗马)_第1张图片

Python 科研风格字体(中文宋体、英文新罗马)_第2张图片

### 参考资料

全局字体思路:

如何将matplotlib中全局的中文设置成宋体_-Heres-的博客-CSDN博客_matplotlib 宋体

混合字体思路:

Python画图新罗马字体调整_张先生-您好的博客-CSDN博客_python画图字体如何设置新罗马

你可能感兴趣的:(python,数据分析)