Python使用matplotlib绘图无法显示中文问题的解决方法


Posted in Python onMarch 14, 2018

本文实例讲述了Python使用matplotlib绘图无法显示中文问题的解决方法。分享给大家供大家参考,具体如下:

在python中,默认情况下是无法显示中文的,如下代码:

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.ax1.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.ax1 = 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()
createPlot()

得到图像如下:

Python使用matplotlib绘图无法显示中文问题的解决方法

产生中文乱码的原因就是字体的默认设置中并没有中文字体,所以我们只要手动添加中文字体的名称就可以了

手动增加如下代码

from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']

源代码修改如下:

import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
# 定义文本框和箭头格式
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.ax1.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.ax1 = 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()
createPlot()

最终得到图像

Python使用matplotlib绘图无法显示中文问题的解决方法

成功!

更多关于Python相关内容可查看本站专题:《Python数学运算技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python实现的系统实用log类实例
Jun 30 Python
Python基于checksum计算文件是否相同的方法
Jul 09 Python
在Django的模型中添加自定义方法的示例
Jul 21 Python
python使用mysql的两种使用方式
Mar 07 Python
tensorflow使用神经网络实现mnist分类
Sep 08 Python
Python中is和==的区别详解
Nov 15 Python
浅谈django url请求与数据库连接池的共享问题
Aug 29 Python
python自动分箱,计算woe,iv的实例代码
Nov 22 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
Jan 06 Python
Python 生成短8位唯一id实战教程
Jan 13 Python
2021年最新用于图像处理的Python库总结
Jun 15 Python
python中redis包操作数据库的教程
Apr 19 Python
Django中url的反向查询的方法
Mar 14 #Python
python ddt实现数据驱动
Mar 14 #Python
Python使用Django实现博客系统完整版
Sep 29 #Python
Python学生信息管理系统修改版
Mar 13 #Python
python之pandas用法大全
Mar 13 #Python
python使用sqlite3时游标使用方法
Mar 13 #Python
Python打印输出数组中全部元素
Mar 13 #Python
You might like
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
在php中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
前端必学之PHP语法基础
2016/01/01 PHP
JavaScript 实现??打印?理
2007/04/28 Javascript
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
处理及遍历XML文档DOM元素属性及方法整理
2013/08/23 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
vue和webpack安装命令详解
2018/06/15 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
浅析 Vue 3.0 的组装式 API(一)
2020/08/31 Javascript
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
python处理cookie详解
2014/02/07 Python
Python随机生成数模块random使用实例
2015/04/13 Python
Python读csv文件去掉一列后再写入新的文件实例
2017/12/28 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
python 图像平移和旋转的实例
2019/01/10 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
12个不为大家熟知的HTML5设计小技巧
2016/06/02 HTML / CSS
伦敦所有西区剧院演出官方票务代理:Theatre Tickets Direct
2017/05/26 全球购物
环保建议书200字
2014/05/14 职场文书
质量安全标语
2014/06/07 职场文书
新教师个人总结
2015/02/06 职场文书
裁员通知
2015/04/25 职场文书
2015年保管员工作总结
2015/04/30 职场文书
企业培训简报范文
2015/07/20 职场文书
详解Python类和对象内容
2021/06/22 Python
使用Java去实现超市会员管理系统
2022/03/18 Java/Android