Python中matplotlib中文乱码解决办法


Posted in Python onMay 12, 2017

Matplotlib是Python的一个很好的绘图包,但是其本身并不支持中文(貌似其默认配置中没有中文字体),所以如果绘图中出现了中文,就会出现乱码。

matplotlib绘制图像有中文标注时会有乱码问题。

Python中matplotlib中文乱码解决办法

实例代码:

import matplotlib
import matplotlib.pyplot as plt

#定义文本框和箭头格式
decisionNode =dict(boxstyle="sawtooth",fc="0.8")
leafNode=dict(boxstyle="round4",fc="0.8")
arrow_args=dict(arrowstyle="<-")

#绘制带箭头的注解
def plotNode(nodeTxt,centerPt,parentPt,nodeType):
  createPlot.axl.annotate(nodeTxt,xy=parentPt,xycoords='axes fraction',xytext=centerPt,textcoords='axes fraction',va="center",ha="center",bbox=nodeType,arrowprops=arrow_args)

def createPlot():
  fig =plt.figure(1,facecolor='white')
  fig.clf()
  createPlot.axl=plt.subplot(111,frameon=False)
  plotNode(U'决策点',(0.5,0.1),(0.1,0.5),decisionNode)
  plotNode(U'叶节点',(0.8,0.1),(0.3,0.8),leafNode)
  plt.show()

解决办法:代码中引入字体

import matplotlib.pyplot as plt
import matplotlib

#定义自定义字体,文件名是系统中文字体
myfont = matplotlib.font_manager.FontProperties(fname='C:/Windows/Fonts/simkai.ttf') 
#解决负号'-'显示为方块的问题 
matplotlib.rcParams['axes.unicode_minus']=False 

decisionNode =dict(boxstyle="sawtooth",fc="0.8")
leafNode=dict(boxstyle="round4",fc="0.8")
arrow_args=dict(arrowstyle="<-")

def plotNode(nodeTxt,centerPt,parentPt,nodeType):
  createPlot.axl.annotate(nodeTxt,xy=parentPt,xycoords='axes fraction',xytext=centerPt,textcoords='axes fraction',va="center",ha="center",bbox=nodeType,arrowprops=arrow_args,fontproperties=myfont)

def createPlot():
  fig =plt.figure(1,facecolor='white')
  fig.clf()
  createPlot.axl=plt.subplot(111,frameon=False)
  plotNode(U'决策点',(0.5,0.1),(0.1,0.5),decisionNode)
  plotNode(U'叶节点',(0.8,0.1),(0.3,0.8),leafNode)
  plt.show()

Python中matplotlib中文乱码解决办法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python备份Mysql脚本
Aug 11 Python
从零学python系列之新版本导入httplib模块报ImportError解决方案
May 23 Python
Python下载懒人图库JavaScript特效
May 28 Python
Windows上配置Emacs来开发Python及用Python扩展Emacs
Nov 20 Python
Python实现文件复制删除
Apr 19 Python
python和shell监控linux服务器的详细代码
Jun 22 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
用Python实现筛选文件脚本的方法
Oct 27 Python
OpenCV python sklearn随机超参数搜索的实现
Jan 17 Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 Python
python让函数不返回结果的方法
Jun 22 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
Jul 02 Python
使用Python对Csv文件操作实例代码
May 12 #Python
python 读取excel文件生成sql文件实例详解
May 12 #Python
Python实现读取并保存文件的类
May 11 #Python
Python使用defaultdict读取文件各列的方法
May 11 #Python
python中nan与inf转为特定数字方法示例
May 11 #Python
Python和C/C++交互的几种方法总结
May 11 #Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
May 11 #Python
You might like
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
2016/03/14 PHP
Laravel框架基于ajax实现二级联动功能示例
2019/01/17 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
用js查找法实现当前栏目的高亮显示的代码
2007/11/24 Javascript
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
jquery last-child 列表最后一项的样式
2010/01/22 Javascript
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
基于javascipt-dom编程 table对象的使用
2013/04/22 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
jQuery中的$.ajax()方法应用
2014/05/06 Javascript
Egret引擎开发指南之发布项目
2014/09/03 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
2014/10/09 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
angular中的http拦截器Interceptors的实现
2017/02/21 Javascript
使用Math.max,Math.min获取数组中的最值实例
2017/04/25 Javascript
详解VueJS 数据驱动和依赖追踪分析
2017/07/26 Javascript
vue中计算属性(computed)、methods和watched之间的区别
2017/07/27 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
vue写一个组件
2018/04/09 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
探究数组排序提升Python程序的循环的运行效率的原因
2015/04/01 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
Pytorch .pth权重文件的使用解析
2020/02/14 Python
最小二乘法及其python实现详解
2020/02/24 Python
Django中使用Celery的方法步骤
2020/12/07 Python
HTML5在canvas中绘制复杂形状附效果截图
2014/06/23 HTML / CSS
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
2014年最新领导班子整改方案
2014/09/27 职场文书
2014年技术员工作总结
2014/11/18 职场文书
2014年保密工作总结
2014/11/22 职场文书
Mysql Show Profile
2021/04/05 MySQL
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
nginx共享内存的机制详解
2022/03/21 Servers