大多数人都知道,如果要在matplotlib.pyplot中正确显示中文和符号,通常我们采用:
import matplotlib.pyplot as plt
plt.rcParams[‘font.sans-serif‘] = ‘SimHei‘
plt.rcParams[‘axes.unicode_minus‘] = False
- 1
- 2
- 3
- 4
但是在Mac上该方法会失效。
解决方法
查阅了网上的资料和结合自己的经验,总结出即使不会linux不会vim也可以轻松解决的方法(甚至不需要下载字体)
??????
1.找到matplotlibrc文件
首先按下Command ? + space唤出聚焦搜索,输入matplotlibrc,直接以文稿方式打开:
(通常情况下,该文件位于anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data下)
2.修改三个注释
打开文件后,使用Command ? + F搜索文件内容。分别搜索font.family、font.sans-serif、axes.unicode_minus这三个关键词,然后删除关键字前的#号,接着保存Command ? + S并退出。
3.在python中运行以下代码重新加载
很多同学做到这就差最后一步了!在python中运行以下代码:
from matplotlib.font_manager import _rebuild
_rebuild()
- 1
- 2
4.我们来测试一下!
做到这里,已经可以正常显示中文了!使用以下代码:
import matplotlib.pyplot as plt
plt.rcParams[‘font.sans-serif‘] = ‘Arial Unicode MS‘
//注意这里用的不是‘SimHei‘
plt.rcParams[‘axes.unicode_minus‘] = False
- 1
- 2
- 3
- 4
- 5
已经可以正常显示了!????
但是我们要注意的是,这里为了解决问题的方便,字体选择了macOS自带的Arial Unicode MS,如果要使用SimHei黑体,则需要另外安装。
*5.如果你想使用SimHei
在SimHei字体下载(点我)中下载字体,双击直接安装到字体册中。接着找到matplotlib字体文件夹,一般是anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf,然后把SimHei.ttf拷贝到ttf文件夹里。
回到上述步骤第二部,修改font.sans-serif时在字体后面加上SimHei(注意要写在第一个),保存退出,重复上述步骤即可~
学习资料:http://www.makeru.com.cn/live/1392_1164.html?s=143793