matplotlib 生成的图像中无法显示中文字符的解决方法


Posted in Python onJune 10, 2020

前几天使用matplotlib 绘图的时候发现无法使用中文字符,所以找了个笔记,顺便分享给大家

开发环境

  • windows 8.1 64bit
  • python 3.6.0
  • matplotlib 3.2.1

问题背景

使用 matplotlib 绘制函数图像的时候,发现设置图像名称或图例需要汉字显示的时候只能得到空格

生成图像中的中文错误效果

matplotlib 生成的图像中无法显示中文字符的解决方法

原因分析

python中的matplotlib仅支持Unicode编码,默认是不显示中文的.

解决方案

解决方案1

python文件中添上一段语句

plt.rcParams['font.sans-serif']=['Simhei']

之后再次运行得出图像 

解决方案2

制定加载本地的字体文件

在python文件中导入matplotlib的字体控制方法

from matplotlib.font_manager import FontProperties

另设font变量存储设置好的属性

font = FontProperties(fname=r'C:\Windows\Fonts\simhei.ttf',size=14)

设置 title 内容时将 font的存储对象赋给 fontproperties 属性

plt.title(u'y=x 与 y=x^0.5 的函数图像比较',fontproperties = font)

修改源码后生成的图像

matplotlib 生成的图像中无法显示中文字符的解决方法

附件

修改前的 python 文件

import numpy as np
 import matplotlib.pyplot as plt

 x = np.linspace(0,100) # 设置自变量的取值[0,100]

 y1 = x
 y2 = x**0.5

 plt.figure()
 plt.plot(x,y1,label='y=x')
 plt.plot(x,y2,label='y=x^0.5',color='red')

 plt.title('y=x 与 y=x^0.5 的函数图像比较')

 plt.legend()
 plt.show()

经解决方案1修改后的源码

import numpy as np
 import matplotlib.pyplot as plt

 x = np.linspace(0,100) # 设置自变量的取值[0,100]

 y1 = x
 y2 = x**0.5

 plt.figure()
 plt.plot(x,y1,label='y=x')
 plt.plot(x,y2,label='y=x^0.5',color='red')

 plt.title('y=x 与 y=x^0.5 的函数图像比较')
 plt.rcParams['font.sans-serif']=['Simhei']

 plt.legend()
 plt.show()

经解决方案2修改后的源码

import numpy as np
 from matplotlib.font_manager import FontProperties
 import matplotlib.pyplot as plt

 x = np.linspace(0,100) # 设置自变量的取值[0,100]
 y1 = x
 y2 = x**0.5

 plt.figure()
 plt.plot(x,y1,label='y=x')
 plt.plot(x,y2,label='y=x^0.5',color='red')
 font = FontProperties(fname=r'C:\Windows\Fonts\simhei.ttf',size=14)

 plt.title(u'y=x 与 y=x^0.5 的函数图像比较',fontproperties = font)

 plt.legend()
 plt.show()

到此这篇关于matplotlib 生成的图像中无法显示中文字符的解决方法的文章就介绍到这了,更多相关matplotlib图像无法显示中文内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python常用内置函数总结
Feb 08 Python
Python字符串拼接的几种方法整理
Aug 02 Python
Python编程实现蚁群算法详解
Nov 13 Python
Python实现上下班抢个顺风单脚本
Feb 07 Python
Java编程迭代地删除文件夹及其下的所有文件实例
Feb 10 Python
如何利用python查找电脑文件
Apr 27 Python
python实现关键词提取的示例讲解
Apr 28 Python
python用户评论标签匹配的解决方法
May 31 Python
Python 文本文件内容批量抽取实例
Dec 10 Python
Python 实现的 Google 批量翻译功能
Aug 26 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
Oct 11 Python
Python-jenkins 获取job构建信息方式
May 12 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
Jun 10 #Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
Jun 10 #Python
浅谈Python中的字符串
Jun 10 #Python
Keras 使用 Lambda层详解
Jun 10 #Python
keras打印loss对权重的导数方式
Jun 10 #Python
Python xlrd模块导入过程及常用操作
Jun 10 #Python
keras-siamese用自己的数据集实现详解
Jun 10 #Python
You might like
Snoopy类使用小例子
2008/04/15 PHP
PHP curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
laravel model 两表联查示例
2019/10/24 PHP
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
如何让页面加载完成后执行js
2013/06/26 Javascript
javascript中parseInt()函数的定义和用法分析
2014/12/20 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
2016/11/18 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
vue2.0 和 animate.css的结合使用
2017/12/12 Javascript
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
2018/09/21 Javascript
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
vue打包npm run build时候界面报错的解决
2020/08/13 Javascript
js用正则表达式筛选年月日的实例方法
2021/01/04 Javascript
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
Python爬虫中urllib库的进阶学习
2018/01/05 Python
pandas数据清洗,排序,索引设置,数据选取方法
2018/05/18 Python
Python读写zip压缩文件的方法
2018/08/29 Python
Tensorflow中的dropout的使用方法
2020/03/13 Python
Django静态文件加载失败解决方案
2020/08/26 Python
如何用Python编写一个电子考勤系统
2021/02/08 Python
英国领先的葡萄酒专家:Majestic Wine
2017/05/30 全球购物
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
泰国在线书店:SE-ED
2020/06/21 全球购物
企业节能减排实施方案
2014/03/19 职场文书
学校就业推荐信范文
2014/05/19 职场文书
社区禁毒工作方案
2014/06/02 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
2015年环卫处个人工作总结
2015/07/27 职场文书
小学生教师节广播稿
2015/08/19 职场文书