详解Python Matplot中文显示完美解决方案


Posted in Python onMarch 07, 2019

原因与现象

Matplot是一个功能强大的Python图表绘制库,很遗憾目前版本自带的字体库中并不支持中文字体。所以如果在绘制内容中需要显示中文,那么就会显示为方格字符。

解决办法

有一个较为完美的解决方案,通过扫描Matplot自带字体库以及系统字体库,寻找能够支持的中文字体,如果能够找到的话,就设置第一个为Matplot的字体熟悉。

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontManager
from pylab import mpl
import subprocess

def get_matplot_zh_font():
 fm = FontManager()
 mat_fonts = set(f.name for f in fm.ttflist)

 output = subprocess.check_output('fc-list :lang=zh -f "%{family}\n"', shell=True)
 zh_fonts = set(f.split(',', 1)[0] for f in output.split('\n'))
 available = list(mat_fonts & zh_fonts)

 print '*' * 10, '可用的字体', '*' * 10
 for f in available:
 print f
 return available

def set_matplot_zh_font():
 available = get_matplot_zh_font()
 if len(available) > 0:
 mpl.rcParams['font.sans-serif'] = [available[0]] # 指定默认字体
 mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

在绘图之前,调用set_matplot_zh_font()设置一下就可以了。

效果

如下图所示:

详解Python Matplot中文显示完美解决方案

以上所述是小编给大家介绍的Python Matplot中文显示完美解决方案详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
分享15个最受欢迎的Python开源框架
Jul 13 Python
Python创建日历实例
Aug 21 Python
python中print的不换行即时输出的快速解决方法
Jul 20 Python
Python数据处理numpy.median的实例讲解
Apr 02 Python
python爬取微信公众号文章
Aug 31 Python
浅谈python的深浅拷贝以及fromkeys的用法
Mar 08 Python
python excel转换csv代码实例
Aug 26 Python
jupyter note 实现将数据保存为word
Apr 14 Python
Python configparser模块应用过程解析
Aug 14 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
Aug 19 Python
python 实现汉诺塔游戏
Nov 28 Python
Python编程super应用场景及示例解析
Oct 05 Python
详解Python安装tesserocr遇到的各种问题及解决办法
Mar 07 #Python
Python3实现的判断环形链表算法示例
Mar 07 #Python
浅析Python 读取图像文件的性能对比
Mar 07 #Python
python try 异常处理(史上最全)
Mar 07 #Python
通过shell+python实现企业微信预警
Mar 07 #Python
Python一个简单的通信程序(客户端 服务器)
Mar 06 #Python
用Python写一个模拟qq聊天小程序的代码实例
Mar 06 #Python
You might like
浅析PHP中Collection 类的设计
2013/06/21 PHP
php实现可运算的验证码
2015/11/10 PHP
PHP+MySql+jQuery实现的"顶"和"踩"投票功能
2016/05/21 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
JSONP之我见
2015/03/24 Javascript
jQuery基于ajax实现星星评论代码
2015/08/07 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
node.js实现爬虫教程
2020/08/25 Javascript
全面解析标签页的切换方式
2016/08/21 Javascript
Bootstrap源码解读导航(6)
2016/12/23 Javascript
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
webpack中如何加载静态文件的方法步骤
2019/05/18 Javascript
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
python获取一组数据里最大值max函数用法实例
2015/05/26 Python
python函数局部变量用法实例分析
2015/08/04 Python
Python wxPython库使用wx.ListBox创建列表框示例
2018/09/03 Python
Python判断telnet通不通的实例
2019/01/26 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
django中media媒体路径设置的步骤
2019/11/15 Python
python科学计算之scipy——optimize用法
2019/11/25 Python
MNIST数据集转化为二维图片的实现示例
2020/01/10 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
西门豹教学反思
2014/02/04 职场文书
先进员工获奖感言
2014/08/14 职场文书
投资申请报告
2015/05/19 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL
pandas中pd.groupby()的用法详解
2022/06/16 Python
Win11如何查看显卡型号 Win11查看显卡型号的方法
2022/08/14 数码科技