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内置的字符串处理函数详细整理(覆盖日常所用)
Aug 19 Python
Python正则表达式使用经典实例
Jun 21 Python
Python3模拟curl发送post请求操作示例
May 03 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
Jun 11 Python
Python实现的ftp服务器功能详解【附源码下载】
Jun 26 Python
Python 面向对象之封装、继承、多态操作实例分析
Nov 21 Python
Python中os模块功能与用法详解
Feb 26 Python
python 一维二维插值实例
Apr 22 Python
Python代码需要缩进吗
Jul 01 Python
Pycharm中使用git进行合作开发的教程详解
Nov 17 Python
Python+Appium实现自动化清理微信僵尸好友的方法
Feb 04 Python
python套接字socket通信
Apr 01 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
重置版游戏视频
2020/04/09 魔兽争霸
phpBB BBcode处理的漏洞
2006/10/09 PHP
E路文章系统PHP
2006/12/11 PHP
PHP添加MySQL数据记录代码
2008/06/07 PHP
php数字转汉字代码(算法)
2011/10/08 PHP
PHP中文竖排转换实现方法
2015/10/23 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
2016/02/23 PHP
php mysql获取表字段名称和字段信息的三种方法
2016/11/13 PHP
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
JavaScript笔记之数据属性和存储器属性
2016/03/31 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
javascript正则表达式模糊匹配IP地址功能示例
2017/01/06 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
nodejs acl的用户权限管理详解
2018/03/14 NodeJs
Layui组件Table绑定行点击事件和获取行数据的方法
2018/08/19 Javascript
axios+Vue实现上传文件显示进度功能
2019/04/14 Javascript
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
Python中optparse模块使用浅析
2015/01/01 Python
python执行等待程序直到第二天零点的方法
2015/04/23 Python
Python中threading模块join函数用法实例分析
2015/06/04 Python
Python多进程机制实例详解
2015/07/02 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
Python中低维数组填充高维数组的实现
2019/12/02 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
求职自荐信范文格式
2013/11/29 职场文书
新春寄语大全
2014/04/09 职场文书
公司寄语大全
2014/04/10 职场文书
代领毕业证委托书
2014/08/02 职场文书
住房租房协议书
2014/08/20 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
贷款工作证明模板
2015/06/12 职场文书
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang
golang实现浏览器导出excel文件功能
2022/03/25 Golang
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
2022/07/07 Java/Android