1.使用字体合并工具fontforge将新罗马times.ttf和宋体simsun.ttf进行合并,合并后为times_simsun.ttf

合并后的文件预览如下:

 2. 将合并后的times_simsun.ttf放置到 matplotlib 字体文件夹中,我的电脑安装路径为E:\python\Lib\site-packages\matplotlib\mpl-data\fonts\ttf,可使用命令 print(matplotlib.matplotlib_fname()) 查看自己电脑上的目录

3.用记事本打开matplotlibrc文件,路径:E:\python\Lib\site-packages\matplotlib\mpl-data

进行如下修改:

Ctrl+F打开查找font.family,找到如图位置,将#删除

 同理,将font.sans-serif前面#删除,并在后面添加Times New Roman + SimSun(第一张图显示的字体名字),更改后保存

 4.找到fontlist-v330.json,可使用Everything软件或者使用命令print(matplotlib.get_cachedir(),输出目录。用记事本打开fontlist-v330.json,在 "ttflist"的[  ]中添加以下内容 


 {
      "fname": "fonts\\ttf\\times_simsun.ttf",
      "name": "Times New Roman + SimSun",
      "style": "normal",
      "variant": "normal",
      "weight": 400,
      "stretch": "normal",
      "size": "scalable",
      "__class__": "FontEntry"
    },

5.重启python

6.在代码开头设置字体属性


from matplotlib import rcParams
rcParams['font.family'] = 'sans-serif'  # 使用字体中的无衬线体
rcParams['font.sans-serif'] = ['times_simsun']  # 设置字体
rcParams['font.size'] = 9  # 设置字体大小
rcParams['axes.unicode_minus'] = False  # 使坐标轴刻度标签正常显示正负号
rcParams['mathtext.fontset'] = 'stix'  # 保证 mathtext 字体为 times

 

 

 

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐