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 相关文章推荐
简单的编程0基础下Python入门指引
Apr 01 Python
Python简单格式化时间的方法【strftime函数】
Sep 18 Python
python生成圆形图片的方法
Mar 25 Python
Python实现统计英文文章词频的方法分析
Jan 28 Python
pyhanlp安装介绍和简单应用
Feb 22 Python
浅谈Python爬虫基本套路
Mar 25 Python
Python3.5内置模块之random模块用法实例分析
Apr 26 Python
检测python爬虫时是否代理ip伪装成功的方法
Jul 12 Python
python3下pygame如何实现显示中文
Jan 11 Python
keras获得model中某一层的某一个Tensor的输出维度教程
Jan 24 Python
pandas DataFrame 数据选取,修改,切片的实现
Apr 24 Python
Python实现简繁体转换
Jun 07 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
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
PHP生成随机密码类分享
2014/06/25 PHP
PHP控制反转(IOC)和依赖注入(DI)
2017/03/13 PHP
PHP date_default_timezone_set()设置时区操作实例分析
2020/05/16 PHP
javascript 日期常用的方法
2009/11/11 Javascript
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
JS与框架页的操作代码
2010/01/17 Javascript
只需一行代码,轻松实现一个在线编辑器
2013/11/12 Javascript
下拉框select的绑定示例
2014/09/04 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
JavaScript下拉菜单功能实例代码
2017/03/01 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
Node.js Buffer模块功能及常用方法实例分析
2019/01/05 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
layui动态渲染生成select的option值方法
2019/09/23 Javascript
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
Python计算三角函数之asin()方法的使用
2015/05/15 Python
python实现SMTP邮件发送功能
2020/06/16 Python
在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
2016/06/07 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
python自动化生成IOS的图标
2018/11/13 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
Python OpenCV利用笔记本摄像头实现人脸检测
2020/08/20 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
tensorflow实现训练变量checkpoint的保存与读取
2020/02/10 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
python全栈开发语法总结
2020/11/22 Python
利用CSS3 动画 绘画 圆形动态时钟
2018/03/20 HTML / CSS
Ariat官网:美国马靴和服装品牌
2019/12/16 全球购物
十岁生日家长答谢词
2014/01/17 职场文书
创业女性典型材料
2014/05/02 职场文书
英语教育专业自荐信
2014/05/29 职场文书
学生党员一帮一活动总结
2014/07/08 职场文书
接待员岗位职责
2015/02/13 职场文书
回复函格式及范文
2015/07/14 职场文书