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 Django(图文)
Nov 04 Python
python爬取51job中hr的邮箱
May 14 Python
简单谈谈python中的Queue与多进程
Aug 25 Python
Python排序算法实例代码
Aug 10 Python
详解pandas安装若干异常及解决方案总结
Jan 10 Python
selenium+python自动化测试之页面元素定位
Jan 23 Python
pycharm创建一个python包方法图解
Apr 10 Python
详解从Django Allauth中进行登录改造小结
Dec 18 Python
Python使用enumerate获取迭代元素下标
Feb 03 Python
怎么解决pycharm license Acti的方法
Oct 28 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 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
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
php计算整个目录大小的方法
2015/06/19 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
如何让页面加载完成后执行js
2013/06/26 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
原生javaScript实现图片延时加载的方法
2014/12/22 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
js中for in语句的用法讲解
2015/04/24 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
微信小程序使用template标签实现五星评分功能
2018/11/03 Javascript
nodejs同步调用获取mysql数据时遇到的大坑
2019/03/02 NodeJs
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
2020/10/29 Javascript
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
Python中的lstrip()方法使用简介
2015/05/19 Python
举例详解Python中threading模块的几个常用方法
2015/06/18 Python
浅谈Python中的闭包
2015/07/08 Python
win与linux系统中python requests 安装
2016/12/04 Python
python编程实现归并排序
2017/04/14 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
Python Tkinter实现简易计算器功能
2018/01/30 Python
Django实现分页显示效果
2019/10/31 Python
python实现高斯(Gauss)迭代法的例子
2019/11/20 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
html5 canvas简单封装一个echarts实现不了的饼图
2018/06/12 HTML / CSS
单身旅行者的单身假期:Just You
2018/04/08 全球购物
大学生的自我鉴定范文
2014/01/21 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书
小学见习报告
2015/06/23 职场文书
python tqdm用法及实例详解
2021/06/16 Python