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+Django在windows下的开发环境配置图解
Nov 11 Python
python正则表达式及使用正则表达式的例子
Jan 22 Python
对python判断是否回文数的实例详解
Feb 08 Python
python opencv根据颜色进行目标检测的方法示例
Jan 15 Python
Python 解析pymysql模块操作数据库的方法
Feb 18 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
Feb 26 Python
使用Python pip怎么升级pip
Aug 11 Python
JupyterNotebook 输出窗口的显示效果调整实现
Sep 22 Python
python处理写入数据代码讲解
Oct 22 Python
Python Serial串口基本操作(收发数据)
Nov 06 Python
学点简单的Django之第一个Django程序的实现
Feb 24 Python
PyQt QMainWindow的使用示例
Mar 24 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过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
PHP编程中尝试程序并发的几种方式总结
2016/03/21 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
2016/11/03 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
JavaScript之IE的fireEvent方法详细解析
2013/11/20 Javascript
jquery实现邮箱自动补全功能示例分享
2014/02/17 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
微信小程序 配置文件详细介绍
2016/12/14 Javascript
微信小程序 Canvas增强组件实例详解及源码分享
2017/01/04 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
JS设计模式之数据访问对象模式的实例讲解
2017/09/30 Javascript
使用classList来实现两个按钮样式的切换方法
2018/01/24 Javascript
Vue项目中如何引入icon图标
2018/03/28 Javascript
ionic+html5+API实现双击返回键退出应用
2019/09/17 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
python实现旋转和水平翻转的方法
2018/10/25 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
2019/02/27 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
CSS3实现菜单悬停效果
2020/11/17 HTML / CSS
浅谈HTML5 & CSS3的新交互特性
2016/07/19 HTML / CSS
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
旅游网创业计划书
2014/01/31 职场文书
工会主席事迹材料
2014/06/03 职场文书
售后客服工作职责
2014/06/16 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
创业的9条正确思考方式
2019/08/26 职场文书