Python在Matplotlib图中显示中文字体的操作方法


Posted in Python onJuly 29, 2019

1.    说明

本篇主要针对在Ubuntu系统中,matplotlib显示不了中文的问题,尤其是在无法安装系统字体的情况下,解决Python绘图时中文显示的问题。

2.    在系统中安装字体

$ fc-list :lang=zh # 查看中文字体名称及其安装路径,相对于英文字体,中文字体文件一般较大。

如果无中文字体,可使用apt-get安装,具体方法如下:

$ apt-cache search font|grep Chinese # 查看可安装的中文字体
$ sudo apt-get install fonts-wqy-zenhei # 安装字体, 一般字体会被安装到/usr/share/fonts/的某个子目录下,也可以从windows中把ttf,ttc复制到fonts目录下。
$ cd /usr/share/fonts/truetype/xxx/ # cd到字体安装目录下
$ sudo mkfontscale
$ sudo mkfontdir
$ fc-cache -v # 更新字体
$ fc-list :lang=zh # 此时就可以看到新装的字体

3.    在Python中指定字体

此时python就可以使用新安装的字体了,方法是在Python中设置默认字体.

plt.rcParams['font.sans-serif'] = ['Droid Sans Japanese']

用以下方法可列出Python可用的系统字体名称及路径。

from os import path
from matplotlib.font_manager import fontManager
for i in fontManager.ttflist:
print(i.fname, i.name)

4.    在程序中指定字体文件

如果由于权限的限制,无法安装系统字体,也可以在程序中直接指定程序路径load字体,具体方法如下:

zhfont = mpl.font_manager.FontProperties(fname='../../font/wqy-zenhei.ttc')
plt.xlabel(u'测试一下 ', fontsize=20, fontproperties=zhfont)

注意:用docker+notebook写程序时,需要把字体存放在有权访问的路径之下。

5.    为Python安装新字体

把字体复制到 /usr/local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/目录下,然后删除 /root/.cache/matplotlib/,就可以使用新的字体了。

总结

以上所述是小编给大家介绍的Python在Matplotlib图中显示中文字体的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
详解Python的单元测试
Apr 28 Python
Python实现股市信息下载的方法
Jun 15 Python
Python统计日志中每个IP出现次数的方法
Jul 06 Python
python基础知识小结之集合
Nov 25 Python
python中如何使用朴素贝叶斯算法
Apr 06 Python
使用Python实现博客上进行自动翻页
Aug 23 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
Nov 23 Python
通过python+selenium3实现浏览器刷简书文章阅读量
Dec 26 Python
使用pandas中的DataFrame数据绘制柱状图的方法
Apr 10 Python
Python数据持久化shelve模块用法分析
Jun 29 Python
django实现将修改好的新模型写入数据库
Mar 31 Python
python基于turtle绘制几何图形
Jun 15 Python
Django框架创建mysql连接与使用示例
Jul 29 #Python
python使用minimax算法实现五子棋
Jul 29 #Python
浅析python 中大括号中括号小括号的区分
Jul 29 #Python
Django分页功能的实现代码详解
Jul 29 #Python
微信小程序python用户认证的实现
Jul 29 #Python
Python 堆叠柱状图绘制方法
Jul 29 #Python
Django处理Ajax发送的Get请求代码详解
Jul 29 #Python
You might like
简述php环境搭建与配置
2016/12/05 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
jQuery针对各类元素操作基础教程
2014/08/29 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
vue填坑之webpack run build 静态资源找不到的解决方法
2018/09/03 Javascript
vue绑定事件后获取绑定事件中的this方法
2018/09/15 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
2019/05/09 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
使用微信SDK自定义分享的方法
2019/07/03 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
2020/05/26 Javascript
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
python 实现线程之间的通信示例
2020/02/14 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
python如何查看安装了的模块
2020/06/23 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
具有防紫外线功能的高性能钓鱼服装:Hook&Tackle
2018/08/16 全球购物
复古服装:RetroStage
2019/05/10 全球购物
打架检讨书100字
2014/01/08 职场文书
商业房地产广告语
2014/03/13 职场文书
高一学生期末评语
2014/04/25 职场文书
优秀大学生自荐信
2014/06/09 职场文书
抗洪救灾标语
2014/10/08 职场文书
党员四风问题个人对照检查材料
2014/10/26 职场文书
行政文员岗位职责
2015/02/04 职场文书
营运督导岗位职责
2015/04/10 职场文书
2015年文明创建工作总结
2015/04/30 职场文书
创业计划书之外语培训班
2019/11/02 职场文书
Golang中channel的原理解读(推荐)
2021/10/16 Golang