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 相关文章推荐
linux系统使用python监控apache服务器进程脚本分享
Jan 15 Python
python实现登陆知乎获得个人收藏并保存为word文件
Mar 16 Python
在Python中使用SimpleParse模块进行解析的教程
Apr 11 Python
Python获取运行目录与当前脚本目录的方法
Jun 01 Python
Python2.x中文乱码问题解决方法
Jun 02 Python
Python如何实现MySQL实例初始化详解
Nov 06 Python
python自动化报告的输出用例详解
May 30 Python
python爬取哈尔滨天气信息
Jul 14 Python
Python 保存矩阵为Excel的实现方法
Jan 28 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
Aug 12 Python
Python 装饰器原理、定义与用法详解
Dec 07 Python
解决tensorflow读取本地MNITS_data失败的原因
Jun 22 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
php header功能的使用
2013/10/28 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
PHP实现的二分查找算法实例分析
2017/12/19 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
不间断滚动JS打包类,基本可以实现所有的滚动效果,太强了
2007/12/08 Javascript
JS 常用校验函数
2009/03/26 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
JavaScript实现打字效果的方法
2015/07/10 Javascript
jquery仿百度百科底部浮动导航特效
2015/08/08 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
Extjs让combobox写起来简洁又漂亮
2017/01/05 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
js判断节假日实例代码
2017/12/27 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
使用Angular自定义字段校验指令的方法示例
2019/02/01 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
2019/08/01 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
Python实现获取邮箱内容并解析的方法示例
2018/06/16 Python
Python之list对应元素求和的方法
2018/06/28 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
PyCharm导入python项目并配置虚拟环境的教程详解
2019/10/13 Python
利用pyecharts读取csv并进行数据统计可视化的实现
2020/04/17 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
2020/05/16 Python
通过代码实例了解Python异常本质
2020/09/16 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
投标承诺函范文
2015/01/21 职场文书
Spring Boot 整合 Apache Dubbo的示例代码
2021/07/04 Java/Android
「月刊Action」2022年5月号封面公开
2022/03/21 日漫
深入理解 Golang 的字符串
2022/05/04 Golang
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers