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多线程http下载实现示例
Dec 30 Python
python获取本机外网ip的方法
Apr 15 Python
使用Python生成url短链接的方法
May 04 Python
使用python 打开文件并做匹配处理的实例
Jan 02 Python
python join方法使用详解
Jul 30 Python
python并发编程 Process对象的其他属性方法join方法详解
Aug 20 Python
Python实现自定义读写分离代码实例
Nov 16 Python
Python Numpy 自然数填充数组的实现
Nov 28 Python
Python如何把十进制数转换成ip地址
May 25 Python
如何使用Django Admin管理后台导入CSV
Nov 06 Python
python 实现汉诺塔游戏
Nov 28 Python
Matlab如何实现矩阵复制扩充
Jun 02 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
超神学院:鹤熙已踏入神圣领域,实力不比凯莎弱
2020/03/02 国漫
php代码书写习惯优化小结
2013/06/20 PHP
PHP编程入门的基本语法知识点总结
2016/01/26 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
JS 统计时间
2021/03/09 Javascript
jQuery使用手册之三 CSS操作
2007/03/24 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
深入理解JavaScript系列(33):设计模式之策略模式详解
2015/03/03 Javascript
AngularJS基础学习笔记之指令
2015/05/10 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
JS中关于事件处理函数名后面是否带括号的问题
2016/11/16 Javascript
JS正则表达式之非捕获分组用法实例分析
2016/12/28 Javascript
layui弹出层效果实现代码
2017/05/19 Javascript
使用Fullpage插件快速开发整屏翻页的页面
2017/09/13 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
通过cordova将vue项目打包为webapp的方法
2019/02/02 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
vue路由 遍历生成复数router-link的例子
2019/10/30 Javascript
Python中给List添加元素的4种方法分享
2014/11/28 Python
在Python下使用Txt2Html实现网页过滤代理的教程
2015/04/11 Python
python基于递归解决背包问题详解
2019/07/03 Python
Python学习笔记之Django创建第一个数据库模型的方法
2019/08/07 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
教师试用期自我鉴定
2014/02/12 职场文书
2014红色之旅心得体会
2014/10/07 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
白银帝国观后感
2015/06/17 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
python实现简单的聊天小程序
2021/07/07 Python
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers