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魔法方法-属性访问控制详解
Jul 25 Python
Python实现的快速排序算法详解
Aug 01 Python
让Python更加充分的使用Sqlite3
Dec 11 Python
Python 使用类写装饰器的小技巧
Sep 30 Python
python实现图片彩色转化为素描
Jan 15 Python
Python应用领域和就业形势分析总结
May 14 Python
python 处理微信对账单数据的实例代码
Jul 19 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
Aug 17 Python
opencv python图像梯度实例详解
Feb 04 Python
Python 解析pymysql模块操作数据库的方法
Feb 18 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
Mar 03 Python
如何通过python计算圆周率PI
Nov 11 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
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
php缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
PHP中让curl支持sock5的代码实例
2015/01/21 PHP
对Jquery中的ajax再封装,简化操作示例
2014/02/12 Javascript
javascript动态控制服务器控件实例
2014/09/05 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
理解javascript中DOM事件
2015/12/25 Javascript
非常漂亮的相册集 使用jquery制作相册集
2016/04/28 Javascript
JS实现简单易用的手机端浮动窗口显示效果
2016/09/07 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
2017/01/05 Javascript
JavaScript限定范围拖拽及自定义滚动条应用(3)
2017/05/17 Javascript
Vue.js实现一个todo-list的上移下移删除功能
2017/06/26 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
vue检测对象和数组的变化分析
2018/06/30 Javascript
简单了解JavaScript中常见的反模式
2019/06/21 Javascript
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
Python 从相对路径下import的方法
2018/12/04 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
Python数据类型之列表和元组的方法实例详解
2019/07/08 Python
Python中函数的返回值示例浅析
2019/08/28 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
Python中Selenium模块的使用详解
2020/10/09 Python
Python实现疫情地图可视化
2021/02/05 Python
利用CSS3实现动态的二级三级菜单效果实例源码
2017/01/04 HTML / CSS
利用Node实现HTML5离线存储的方法
2020/10/16 HTML / CSS
Trip.com香港网站:Ctrip携程旗下,全球最大的网上旅游社之一
2016/08/01 全球购物
Wilson体育用品官网:美国著名运动器材品牌
2019/05/12 全球购物
爱尔兰橄榄球店:Irish Rugby Store
2019/12/05 全球购物
星空联盟C# .net笔试题
2014/12/05 面试题
平面设计师工作职责范文
2013/12/03 职场文书
即兴演讲稿
2014/01/04 职场文书
铅球加油稿100字
2014/09/26 职场文书
湘江北去观后感
2015/06/15 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS
用Python可视化新冠疫情数据
2022/01/18 Python