中文论文要求图片文字为宋体,如何在Python生成的图片中显示宋体而不乱码/显示方块

本文详细描述了在Windows11系统下,使用Anaconda3(Spyder)环境安装并配置SimSun字体,以解决matplotlib绘图中文乱码问题的过程,包括修改matplotlib配置文件、复制字体文件及清理缓存等步骤。
摘要由CSDN通过智能技术生成

系统Win11;Python:Anaconda3(Spyder)

具体步骤如下:

  1. 下载宋体字体文件,文件为SimSun.tiff(一定要tiff后缀的文件才行),下载链接转载自: link.(如有侵权,可联系本人,进行删除或修改)
  2. 先将SimSun.tiff文件下载到桌面,然后接下来进行两步操作,(1)找到Python绘图(matplotlib)配置文件进行修改和(2)将SimSun.tiff文件复制到绘图(matplotlib)字体储存的位置。

(1)找到Python绘图(matplotlib)配置文件进行修改:
第一步: 如何快速找到matplotlib配置文件:按图示将下面文本复制到控制台:
import matplotlib
print(matplotlib.matplotlib_fname())
在这里插入图片描述

第二步:
在这里插入图片描述

第三步: 上图为复制结果,然后按键盘回车键(ENTER),得到下图的matplotlib配置文件为matplotlibrc,作者的输出结果为:C:\F\Anaconda3\lib\site-packages\matplotlib\mpl-data\matplotlibrc
(根据自己电脑进行查找)
在这里插入图片描述

第四步: 在电脑中找到matplotlib配置文件matplotlibrc,路径在:C:\F\Anaconda3\lib\site-packages\matplotlib\mpl-data\matplotlibrc
在这里插入图片描述

第五步: 通过记事本打开matplotlibrc,修改三项配置
在这里插入图片描述

第六步: 文字比较多,可以通过编辑中的查找找到需要修改的内容
在这里插入图片描述

第七步: 去除font.family : sans-serif 前面的#
在这里插入图片描述

第八步:
在这里插入图片描述

第九步: 去除font.sans-serif : 前面的#,并在font.sans-serif : 后添加宋体字体文本"SimSun"
在这里插入图片描述

第十步:
在这里插入图片描述

第十一步: 去除axes.unicode_minus前面的#,并将"True"改成"False",此处的作用就是解决图中负号’-'显示为方块的问题
在这里插入图片描述

第十二步:
在这里插入图片描述

(2)将SimSun.tiff文件复制到绘图(matplotlib)字体储存的位置

第十三步: 首先根据(1)里面快速找到matplotlib配置文件的提示(C:\F\Anaconda3\lib\site-packages\matplotlib\mpl-data\matplotlibrc),找到matplotlib字体储存的位置,如:C:\F\Anaconda3\lib\site-packages\matplotlib\mpl-data,将SimSun.tiff复制到fonts文件中ttf文件里面

在这里插入图片描述

第十四步:
在这里插入图片描述

第十五步:
在这里插入图片描述

  1. 删除Python中的绘图(matplotlib )缓存,才能够正常显示不乱码的宋体。因此要求删除~/.cache/matplotlib 的缓冲目录。这里要求是要找到matplotlib缓存路径(基本上都在"C盘\用户\用户命名.matplotlib"路径下,比如作者自己的是:\C:\Users\13640.matplotlib)
    第1步:
    在这里插入图片描述

第2步:
在这里插入图片描述

第3步:
在这里插入图片描述

第4步: matplotlib 的缓存在这里是.json后缀的文件,直接删除,重启后Spyder会自动更新字体文件信息。
在这里插入图片描述

第5步: 为了实现绘图显示正常宋体文字
在编辑器中输入:
font_options = {
‘family’ : ‘serif’, # 设置字体家族
‘serif’ : ‘SimSun’, # 设置字体
}
plt.rc(‘font’,**font_options)
在这里插入图片描述

或者输入:
plt.rcParams[‘font.sans-serif’] = [‘SimSun’]
在这里插入图片描述

第6步: 效果前后对比

乱码/显示方块
在这里插入图片描述

正常显示宋体
在这里插入图片描述

第7步: 这里的缓存字体文件日期已经更新
在这里插入图片描述

  • 42
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值