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 相关文章推荐
python3制作捧腹网段子页爬虫
Feb 12 Python
python利用不到一百行代码实现一个小siri
Mar 02 Python
python中使用psutil查看内存占用的情况
Jun 11 Python
python+selenium打印当前页面的titl和url方法
Jun 22 Python
python3利用venv配置虚拟环境及过程中的小问题小结
Aug 01 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
postman传递当前时间戳实例详解
Sep 14 Python
PyCharm下载和安装详细步骤
Dec 17 Python
python 爬取马蜂窝景点翻页文字评论的实现
Jan 20 Python
tensorflow保持每次训练结果一致的简单实现
Feb 17 Python
pycharm-professional-2020.1下载与激活的教程
Sep 21 Python
解决python 执行shell命令无法获取返回值的问题
Dec 05 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
Zend公司全球首推PHP认证
2006/10/09 PHP
thinkphp四种url访问方式详解
2014/11/28 PHP
php目录拷贝实现方法
2015/07/10 PHP
8个必备的PHP功能开发
2015/10/02 PHP
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
2009/12/02 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
javascript求日期差的方法
2016/03/02 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
2016/05/27 Javascript
Bootstrap安装环境配置教程分享
2016/05/27 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
微信小程序动态显示项目倒计时
2019/06/20 Javascript
Vue实现日历小插件
2019/06/26 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
浅谈Python对内存的使用(深浅拷贝)
2018/01/17 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
2019/07/31 Python
python 画图 图例自由定义方式
2020/04/17 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
Python 日期与时间转换的方法
2020/08/01 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
css3 transform属性详解
2014/09/30 HTML / CSS
Omio波兰:全欧洲低价大巴、火车和航班搜索和比价
2018/02/16 全球购物
static函数与普通函数有什么区别
2015/12/25 面试题
幼儿园中秋节活动方案2013
2014/01/29 职场文书
职称评定自我鉴定
2014/03/18 职场文书
《长江之歌》教学反思
2014/04/17 职场文书
语文教研活动总结
2014/07/02 职场文书
2015最新民情日记范文
2015/06/26 职场文书
2016秋季运动会前导词
2015/11/25 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
世界十大狙击步枪排行榜
2022/03/20 杂记