mac上Matplotlib中文乱码问题
程序员文章站
2022-03-21 11:13:26
...
本地 python3版本
用matplotlib或seaborn作图时,出现以下告警,表明是中文显示的问题。
/anaconda3/lib/python3.6/site-packages/matplotlib/font_manager.py:1328: UserWarning: findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans
(prop.get_family(), self.defaultFamily[fontext]))
/anaconda3/lib/python3.6/site-packages/matplotlib/font_manager.py:1328: UserWarning: findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans
(prop.get_family(), self.defaultFamily[fontext]))
/anaconda3/lib/python3.6/site-packages/matplotlib/font_manager.py:1328: UserWarning: findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans
下载字体simhei.ttf,并放在该目录下
/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf
删除缓存字体
rm -rf ~/.matplotlib/*.cache
修改配置
方法一、
vim /anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
# cat /Users/xiaqunfeng/anaconda2/envs/python27/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc
...
font.family : sans-serif
...
font.sans-serif : SimHei
...
axes.unicode_minus : False # use unicode for the minus symbol
...
方法二、
import matplotlib.pyplot as plt
# 指定默认字体
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['font.family']='sans-serif'
# 用来正常显示负号
plt.rcParams['axes.unicode_minus']=False
- 字体显示
有中文出现的情况,需要u'内容'
,比如plt.xlabel(u'横坐标')
同时还需在开头添加代码行:
#coding:utf-8
方法三:【我最常用】
直接加:
plt.rcParams[‘font.sans-serif’] = [‘Microsoft YaHei’]
(此条可能只适用于mac)
下一篇: vue常用高阶函数及综合实例
推荐阅读
-
angular4 获取wifi列表中文显示乱码问题的解决
-
jsp SmartUpload 中文乱码问题解决
-
php chr() ord()中文截取乱码问题解决方法
-
ubuntu系统下matplotlib中文乱码问题的解决方法
-
PL/SQL Oracle客户端出现中文乱码问题解决办法
-
关于Cookie中带有中文乱码报错的问题解决
-
Three.js使用THREE.TextGeometry创建三维文本中文乱码的问题如何解决?
-
解决asp.net core在输出中文时乱码的问题
-
解决3.01版的jquery.form.js中文乱码问题的解决方法
-
解决python3 HTMLTestRunner测试报告中文乱码的问题