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中的变量和赋值运算符
Oct 12 Python
简单讲解Python中的数字类型及基本的数学计算
Mar 11 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
Python使用LDAP做用户认证的方法
Jun 20 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
Jul 17 Python
Django Rest framework三种分页方式详解
Jul 26 Python
Python图像处理库PIL的ImageDraw模块介绍详解
Feb 26 Python
Python自动化测试笔试面试题精选
Mar 12 Python
彻底搞懂python 迭代器和生成器
Sep 07 Python
Pytorch 如何实现LSTM时间序列预测
May 17 Python
解决pytorch读取自制数据集出现过的问题
May 31 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 时间日期操作实战
2011/08/26 PHP
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
JavaScript类和继承 prototype属性
2010/09/03 Javascript
javascript object array方法使用详解
2012/12/03 Javascript
JS限制上传图片大小不使用控件在本地实现
2012/12/19 Javascript
让js弹出窗口居前显示的实现方法
2013/07/10 Javascript
JavaScript事件委托的技术原理探讨示例
2014/04/17 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
js给selected添加options的方法
2015/05/06 Javascript
JavaScript中Window对象的属性及事件
2015/12/25 Javascript
jQuery 插件封装的方法
2016/11/16 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
JavaScript静态作用域和动态作用域实例详解
2019/06/17 Javascript
解决layer.prompt无效的问题
2019/09/24 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
在Vue中实现随hash改变响应菜单高亮
2020/03/09 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
python后端接收前端回传的文件方法
2019/01/02 Python
对python:threading.Thread类的使用方法详解
2019/01/31 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
美国在线工具商店:Acme Tools
2018/06/26 全球购物
Linux如何为某个操作添加别名
2015/02/05 面试题
绘画设计学生的个人自我评价
2013/09/20 职场文书
《学会待客》教学反思
2014/02/22 职场文书
生日主持词
2014/03/20 职场文书
出纳担保书范文
2014/04/02 职场文书
《生命 生命》教学反思
2014/04/19 职场文书
爱我中华教学反思
2014/04/28 职场文书
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python