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查找相似单词的方法
Mar 05 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
Sep 21 Python
Python 绘图和可视化详细介绍
Feb 11 Python
win10下Python3.6安装、配置以及pip安装包教程
Oct 01 Python
python3.5 tkinter实现页面跳转
Jan 30 Python
VSCode下好用的Python插件及配置
Apr 06 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
python实现图片中文字分割效果
Jul 22 Python
python tkinter图形界面代码统计工具
Sep 18 Python
python超时重新请求解决方案
Oct 21 Python
python爬虫模拟浏览器访问-User-Agent过程解析
Dec 28 Python
了解一下python内建模块collections
Sep 07 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 变量未定义等错误的解决方法
2011/01/12 PHP
配置php.ini实现PHP文件上传功能
2014/11/27 PHP
学习php设计模式 php实现抽象工厂模式
2015/12/07 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
2016/11/05 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
“不能执行已释放的Script代码”错误的原因及解决办法
2007/09/09 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
2017/01/19 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
2018/07/03 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
python创建和使用字典实例详解
2013/11/01 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
2017/06/07 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
python使用PIL实现多张图片垂直合并
2019/01/15 Python
详解Python利用random生成一个列表内的随机数
2019/08/21 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
Pytorch实现基于CharRNN的文本分类与生成示例
2020/01/08 Python
flask开启多线程的具体方法
2020/08/02 Python
Python中random模块常用方法的使用教程
2020/10/04 Python
浅谈html5与APP混合开发遇到的问题总结
2018/03/20 HTML / CSS
HTML5页面无缝闪开的问题及解决方案
2020/06/11 HTML / CSS
Bootstrap File Input文件上传组件
2020/12/01 HTML / CSS
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
标准化管理实施方案
2014/02/25 职场文书
拉歌口号大全
2014/06/13 职场文书
汽修专业自荐信
2014/07/07 职场文书
电子银行业务授权委托书
2014/10/10 职场文书
涉外离婚协议书怎么写
2014/11/20 职场文书
2015新员工试用期工作总结
2014/12/12 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript