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 07 Python
举例详解Python中的split()函数的使用方法
Apr 07 Python
详解python中executemany和序列的使用方法
Aug 12 Python
Django中redis的使用方法(包括安装、配置、启动)
Feb 21 Python
python2.7安装图文教程
Mar 13 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
Jun 09 Python
python实现简单的文字识别
Nov 27 Python
基于Python+Appium实现京东双十一自动领金币功能
Oct 31 Python
学习python需要有编程基础吗
Jun 02 Python
有关pycharm登录github时有的时候会报错connection reset的问题
Sep 15 Python
python glom模块的使用简介
Apr 13 Python
用 Python 定义 Schema 并生成 Parquet 文件详情
Sep 25 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技术开发技巧分享
2010/03/23 PHP
兼容firefox,chrome的网页灰度效果
2011/08/08 PHP
Javascript 构造函数 实例分析
2008/11/26 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
2010/11/14 Javascript
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
js实现大转盘抽奖游戏实例
2015/06/24 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
在web中js实现类似excel的表格控件
2016/09/01 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
jQuery事件详解
2017/02/23 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
[08:56]DOTA2-DPC中国联赛2月23日Recap集锦
2021/03/11 DOTA
Python和php通信乱码问题解决方法
2014/04/15 Python
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
2016/06/13 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
通过实例解析Python调用json模块
2019/12/11 Python
Python无头爬虫下载文件的实现
2020/04/02 Python
Python解析微信dat文件的方法
2020/11/30 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
英国领先的游戏零售商:GAME
2019/09/24 全球购物
工程造价自荐信
2013/10/09 职场文书
银行会计财务工作个人的自我评价
2013/10/29 职场文书
编辑找工作求职信分享
2014/01/03 职场文书
音乐教育感言
2014/03/05 职场文书
购房意向书
2014/04/01 职场文书
小学语文课后反思精选
2014/04/25 职场文书
连带责任保证书
2014/04/29 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书
解决Jenkins集成SonarQube遇到的报错问题
2021/07/15 Java/Android
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android