ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MacOS系统下matplotlib中SimHei中文字体无法启动解决办法

2021-02-07 17:02:34  阅读:454  来源: 互联网

标签:MacOS sans SimHei matplotlib serif 字体 font


MacOS系统下matplotlib中SimHei中文字体无法启动解决办法

遇到的问题

matplotlib默认字体没有中文
在这里插入图片描述

所以需要使用以下代码调用中文字体:

plt.rcParams['font.sans-serif'] = ['SimHei']

在调用的过程中可能出现如下情况:
在这里插入图片描述

解决办法

一、查看matplotlib字体路径
这里提供两种方法:
1、终端查看:
在这里插入图片描述在终端中进入python3环境,然后输入

import matplotlib    
print(matplotlib.matplotlib_fname())

找到自己的matplotlib字体文件夹路径

2、PyCharm或Jupyter
创建python文件(以Jupyter举例),输入以下代码查看路径

import matplotlib    
print(matplotlib.matplotlib_fname())

查询结果如下所示:
在这里插入图片描述
二、下载SimHei字体
这里提供两个下载链接:
1、国内字体下载网站
2、官网字体下载

三、将下载好的SimHei.ttf移动到第一步查询到的目录中:/Users/dengboyuan/opt/anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data/fonts,注意名称一定是SimHei.ttf

四、清理matplotlib缓冲目录
打开终端,进入python环境,输入

import matplotlib
print(matplotlib.get_cachedir())

获取缓冲目录地址:/Users/dengboyuan/.matplotlib
在这里插入图片描述
PyCharm和Jupyter同上。

在终端中输入:exit()退出python环境
使用rm -rf 路径删除缓冲文件(注意空格):
在这里插入图片描述
五、修改原始文件
打开路径:/Users/dengboyuan/opt/anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data找到matplotlibrc文件做以下修改:

font.family:  sans-serif
#去掉前面的#
font.sans-serif: SimHei, DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
#去掉前面的#,手动添加SimHei
axes.unicode_minus: False  # use Unicode for the minus symbol rather than hyphen.  See
                           # https://en.wikipedia.org/wiki/Plus_and_minus_signs#Character_codes
#去掉前面的#,把True改为False

六、重启Jupyter
在这里插入图片描述
不需要plt.rcParams['font.sans-serif'] = ['SimHei']就可以自动显示中文,至此中文显示的问题已经解决。

标签:MacOS,sans,SimHei,matplotlib,serif,字体,font
来源: https://blog.csdn.net/D_Ddd0701/article/details/113743015

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有