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中的map、reduce和filter浅析
Apr 26 Python
Python提取Linux内核源代码的目录结构实现方法
Jun 24 Python
python2.x实现人民币转大写人民币
Jun 20 Python
Python制作微信好友背景墙教程(附完整代码)
Jul 17 Python
Django Rest framework权限的详细用法
Jul 25 Python
python正则表达式匹配IP代码实例
Dec 28 Python
基于Pytorch SSD模型分析
Feb 18 Python
django 多数据库及分库实现方式
Apr 01 Python
python爬虫容易学吗
Jun 02 Python
Python 实现一个简单的web服务器
Jan 03 Python
解析目标检测之IoU
Jun 26 Python
python 远程执行命令的详细代码
Feb 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入门学习知识点三 PHP上传
2011/07/14 PHP
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
php实用代码片段整理
2016/11/12 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
Laravel 在views中加载公共页面的实现代码
2019/10/22 PHP
JQuery 学习笔记 选择器之五
2009/07/23 Javascript
Html中JS脚本执行顺序简单举例说明
2010/06/19 Javascript
javascript各浏览器中option元素的表现差异
2011/04/07 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
利用jQuery实现打字机字幕效果实例代码
2016/09/02 Javascript
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
JS二分查找算法详解
2017/11/01 Javascript
Nuxt.js踩坑总结分享
2018/01/18 Javascript
Koa2微信公众号开发之消息管理
2018/05/16 Javascript
js全屏事件fullscreenchange 实现全屏、退出全屏操作
2019/09/17 Javascript
jQuery实现获取多选框的值示例
2020/02/07 jQuery
node+multer实现图片上传的示例代码
2020/02/18 Javascript
原生JS实现烟花效果
2020/03/10 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
常见python正则用法的简单实例
2016/06/21 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
2019/07/19 Python
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
大学生毕业求职简历的自我评价
2013/10/24 职场文书
开学典礼决心书
2014/03/11 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
初中教师业务学习材料
2014/05/12 职场文书
党员四风剖析材料
2014/08/27 职场文书
2014大学生职业生涯规划书最新范文
2014/09/13 职场文书
2014老师三严三实对照检查材料思想汇报
2014/09/18 职场文书
行政经理岗位职责
2015/04/15 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书