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 流程控制实例代码
Sep 25 Python
简单的编程0基础下Python入门指引
Apr 01 Python
分析python切片原理和方法
Dec 19 Python
python 重定向获取真实url的方法
May 11 Python
Python logging模块用法示例
Aug 28 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
Dec 18 Python
python通过文本在一个图中画多条线的实例
Feb 21 Python
python实现手势识别的示例(入门)
Apr 15 Python
什么是Python变量作用域
Jun 03 Python
如何在 Matplotlib 中更改绘图背景的实现
Nov 26 Python
pandas求平均数和中位数的方法实例
Aug 04 Python
python中if和elif的区别介绍
Nov 07 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利用COM对象访问SQLServer、Access
2006/10/09 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
JavaScript获取图片真实大小代码实例
2014/09/24 Javascript
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
2015/10/22 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
JavaScript判断数组重复内容的两种方法(推荐)
2016/06/06 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
深入理解React高阶组件
2017/09/28 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
2017/11/22 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
详解Js里的for…in和for…of的用法
2019/03/28 Javascript
如何区分vue中的v-show 与 v-if
2020/09/08 Javascript
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
python增加图像对比度的方法
2019/07/12 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
canvas学习总结三之绘制路径-线段
2019/01/31 HTML / CSS
中国跨境电商:Tomtop
2017/03/16 全球购物
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
区优秀教师事迹材料
2014/02/10 职场文书
青年志愿者先进事迹
2014/05/06 职场文书
信息管理专业自荐书
2014/06/05 职场文书
企业环保标语
2014/06/10 职场文书
材料专业大学毕业生自荐书
2014/07/02 职场文书
党的群众路线教育实践活动查摆剖析材料
2014/10/10 职场文书
广告业务员岗位职责
2015/02/13 职场文书
话题作文之自信作文
2019/11/15 职场文书
Python自动化爬取天眼查数据的实现
2021/06/15 Python