详解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 相关文章推荐
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
Apr 25 Python
python处理csv中的空值方法
Jun 22 Python
用Python实现数据的透视表的方法
Nov 16 Python
python tkinter实现界面切换的示例代码
Jun 14 Python
python字典的遍历3种方法详解
Aug 10 Python
python3的数据类型及数据类型转换实例详解
Aug 20 Python
解决Django migrate不能发现app.models的表问题
Aug 31 Python
Python 文件数据读写的具体实现
Jan 24 Python
Python 生成VOC格式的标签实例
Mar 10 Python
基于Tensorflow的MNIST手写数字识别分类
Jun 17 Python
学python需要去培训机构吗
Jul 01 Python
Python实现上下文管理器的方法
Aug 07 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+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
php文件上传类完整实例
2016/05/14 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
2017/06/02 PHP
[IE&FireFox兼容]JS对select操作
2007/01/07 Javascript
javascript中RegExp保留小数点后几位数的方法分享
2013/08/13 Javascript
jQuery 中DOM 操作详解
2015/01/13 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
nodejs实现大文件(在线视频)的读取
2020/10/16 NodeJs
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
angular 数据绑定之[]和{{}}的区别
2018/09/25 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
小程序中canvas的drawImage方法参数使用详解
2019/07/04 Javascript
小程序如何自主实现拦截器的示例代码
2019/11/04 Javascript
[02:30]DOTA2英雄基础教程 暗影恶魔
2013/12/17 DOTA
解析Python中的eval()、exec()及其相关函数
2017/12/20 Python
查看django版本的方法分享
2018/05/14 Python
Django REST framework视图的用法
2019/01/16 Python
一文读懂Python 枚举
2020/08/25 Python
台湾团购、宅配和优惠券:17Life
2017/08/14 全球购物
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
2015/08/25 面试题
北大自主招生自荐信
2013/10/19 职场文书
行政管理人员精品工作推荐信
2013/11/04 职场文书
大学生就业推荐信范文
2013/11/29 职场文书
优秀共产党员先进事迹
2014/01/27 职场文书
后备干部考察材料
2014/02/12 职场文书
服装促销活动方案
2014/02/23 职场文书
面试自我介绍演讲稿
2014/04/29 职场文书
党的生日演讲稿
2014/09/10 职场文书
运动会广播稿200字(10篇)
2014/10/12 职场文书
2014年档案管理员工作总结
2014/12/01 职场文书
nginx配置ssl实现https的方法示例
2021/03/31 Servers