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搭建Django应用程序步骤及版本冲突问题解决
Nov 19 Python
Python实现的石头剪子布代码分享
Aug 22 Python
python实现超简单端口转发的方法
Mar 13 Python
Python实现单词翻译功能
Jun 06 Python
python通过opencv实现批量剪切图片
Nov 13 Python
对Python 2.7 pandas 中的read_excel详解
May 04 Python
Django 全局的static和templates的使用详解
Jul 19 Python
Python中pymysql 模块的使用详解
Aug 12 Python
Pytorch GPU显存充足却显示out of memory的解决方式
Jan 13 Python
python实现IOU计算案例
Apr 12 Python
python使用opencv resize图像不进行插值的操作
Jul 05 Python
深度学习tensorflow基础mnist
Apr 14 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
杏林同学录(五)
2006/10/09 PHP
用PHP和Shell写Hadoop的MapReduce程序
2014/04/15 PHP
php实现mysql数据库分表分段备份
2015/06/18 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
Javascript闭包与函数柯里化浅析
2016/06/22 Javascript
jquery选择器中的空格与大于号&gt;、加号+与波浪号~的区别介绍
2016/06/24 Javascript
浅析BootStrap Treeview的简单使用
2016/10/12 Javascript
jQuery.ajax实现根据不同的Content-Type做出不同的响应
2016/11/03 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
React如何利用相对于根目录进行引用组件详解
2017/10/09 Javascript
React 路由懒加载的几种实现方案
2018/10/23 Javascript
Vue infinite update loop的问题解决
2019/04/23 Javascript
vant组件中 dialog的确认按钮的回调事件操作
2020/11/04 Javascript
Python中定时任务框架APScheduler的快速入门指南
2017/07/06 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
Python3实现汉语转换为汉语拼音
2019/07/08 Python
基于Django OneToOneField和ForeignKey的区别详解
2020/03/30 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
2020/06/29 Python
瑞典灯具和照明网上商店:Lamp24.se
2018/03/17 全球购物
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
Sarenza德国:法国最大的时尚鞋和包包网上商店
2019/06/08 全球购物
荷兰DOD药房中文官网:DeOnlineDrogist
2020/12/27 全球购物
医学专业个人求职自荐信格式
2013/09/23 职场文书
竞争性谈判邀请书
2014/02/06 职场文书
农村婚礼主持词
2014/03/13 职场文书
质量安全标语
2014/06/07 职场文书
保护动物的标语
2014/06/11 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
反对形式主义、官僚主义、享乐主义和奢靡之风整改措施
2014/09/17 职场文书
公司会议开幕词
2015/01/29 职场文书
行政二审代理词
2015/05/25 职场文书
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android
MYSQL如何查看操作日志详解
2022/05/30 MySQL