详解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实现全角半角转换的方法
Aug 18 Python
python中类和实例如何绑定属性与方法示例详解
Aug 18 Python
Python中import机制详解
Nov 14 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
Apr 29 Python
PyQt5 对图片进行缩放的实例
Jun 18 Python
python scrapy爬虫代码及填坑
Aug 12 Python
浅析python中while循环和for循环
Nov 19 Python
Python中实现输入一个整数的案例
May 03 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
Jun 18 Python
Python3 搭建Qt5 环境的方法示例
Jul 16 Python
详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
Aug 04 Python
利用Python网络爬虫爬取各大音乐评论的代码
Apr 13 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小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
全世界最小的php网页木马一枚 附PHP木马的防范方法
2009/10/09 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
PHP检查URL包含特定字符串实例方法
2019/02/11 PHP
php DES加密算法实例分析
2019/09/18 PHP
JQuery 无废话系列教程(一) jquery入门 [推荐]
2009/06/23 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
2014/04/04 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
2014/10/23 Javascript
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
JavaScript实现两个select下拉框选项左移右移
2017/03/09 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
深入理解Vue 单向数据流的原理
2017/11/09 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
Vue关于组件化开发知识点详解
2020/05/13 Javascript
Vue使用v-viewer实现图片预览
2020/10/21 Javascript
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
kafka-python批量发送数据的实例
2018/12/27 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
python实现局域网内实时通信代码
2019/12/22 Python
Python datetime 格式化 明天,昨天实例
2020/03/02 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
python使用正则表达式匹配txt特定字符串(有换行)
2020/12/09 Python
CSS3实现彩色进度条动画的示例
2020/10/29 HTML / CSS
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
美国优质宠物用品购买网站:Muttropolis
2020/02/17 全球购物
班组长安全职责
2014/01/05 职场文书
村主任个人对照检查材料
2014/10/01 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
python 遍历磁盘目录的三种方法
2021/04/02 Python