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调用cmd命令行制作刷博器
Jan 13 Python
Python字符串中查找子串小技巧
Apr 10 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 Python
python使用mysql的两种使用方式
Mar 07 Python
django获取from表单multiple-select的value和id的方法
Jul 19 Python
django fernet fields字段加密实践详解
Aug 12 Python
关于pytorch多GPU训练实例与性能对比分析
Aug 19 Python
Django用数据库表反向生成models类知识点详解
Mar 25 Python
详解在Python中使用Torchmoji将文本转换为表情符号
Jul 27 Python
用Python实现职工信息管理系统
Dec 30 Python
python读取图片颜色值并生成excel像素画的方法实例
Feb 19 Python
使用Django框架创建项目
Jun 10 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
用户的详细注册和判断
2006/10/09 PHP
Banner程序
2006/10/09 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
Javascript中string转date示例代码
2013/11/01 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
js图片翻书效果代码分享
2015/08/20 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
详解vue表单——小白速看
2018/04/08 Javascript
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
python脚本监控docker容器
2016/04/27 Python
python实现简单爬虫功能的示例
2016/10/24 Python
浅谈python内置变量-reversed(seq)
2017/06/21 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
Python命令行click参数用法解析
2019/12/19 Python
python获取引用对象的个数方式
2019/12/20 Python
Python爬虫headers处理及网络超时问题解决方案
2020/06/19 Python
美国珠宝精品店:Opulent Jewelers
2019/08/20 全球购物
HSRP的含义以及如何工作
2014/09/10 面试题
护理专业毕业生推荐信
2013/10/31 职场文书
工作中个人的自我评价
2013/12/31 职场文书
职务聘任书范文
2014/03/29 职场文书
企业文化标语口号
2014/06/09 职场文书
暑期学习心得体会
2014/09/02 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS