python matplotlib中文显示参数设置解析


Posted in Python onDecember 15, 2017

最近在学习python著名的绘图包matplotlib时发现,有时候图例等设置无法正常显示中文,于是就想把这个问题解决了。

PS:本文仅针对Windows,其他平台仅供参考。

原因

大致就是matplotlib库中没有中文字体。

我安装的anaconda,这是对应的matplotlib的字体所在文件夹(怎么找到matplotlib配置文件夹所在,下面解决方案会叙述,easyman~)。

C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data\fonts\ttf

解决方案

现在整理一下我认为比较好的解决方案:

每次编写代码时进行参数设置

#coding:utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
#有中文出现的情况,需要u'内容'

一劳永逸(推荐)

import matplotlib
matplotlib.matplotlib_fname() #将会获得matplotlib包所在文件夹

然后进入C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data该文件夹下就能看到matplotlibrc配置文件。

1)打开该配置文件,找到下面这行:

#font.serif : Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif

然后,将前面的注释去掉!

2)找中文字体放到matplotlib字体库中。

在Windows文件夹下:C:\Windows\Fonts\MicrosoftYaHeiUI复制该字体,然后粘贴到C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data\fonts\ttf文件夹,并给它重命名为Vera.ttf。

注明:这一步的作用其实就是将matplotlib中一个默认的字体替换为我们复制过来的中文字体,将这个中文字体命名改为matplotlib中有的字体名。

其实,还有其他方案,但是貌似在我这儿没成功。

补充

坐标轴的负号正常显示

#去掉了注释符号,同时,改为False
axes.unicode_minus : False

举例

#coding:utf-8
import matplotlib.pyplot as plt
plt.plot((1,2,3),(4,3,-1))
plt.xlabel(u'横坐标')
plt.ylabel(u'纵坐标')
plt.show()

python matplotlib中文显示参数设置解析

总结

以上就是本文关于python matplotlib中文显示参数设置解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python的Django框架中设置日期和字段可选的方法
Jul 17 Python
Python编程实现正则删除命令功能
Aug 30 Python
python skimage 连通性区域检测方法
Jun 21 Python
pytorch: tensor类型的构建与相互转换实例
Jul 26 Python
在Python中给Nan值更改为0的方法
Oct 30 Python
python xpath获取页面注释的方法
Jan 14 Python
Python分布式进程中你会遇到的问题解析
May 28 Python
Django获取该数据的上一条和下一条方法
Aug 12 Python
使用Python的turtle模块画国旗
Sep 24 Python
win10系统下python3安装及pip换源和使用教程
Jan 06 Python
详细分析Python collections工具库
Jul 16 Python
Selenium python时间控件输入问题解决方案
Jul 22 Python
MAC中PyCharm设置python3解释器
Dec 15 #Python
Python通过matplotlib画双层饼图及环形图简单示例
Dec 15 #Python
python绘制双柱形图代码实例
Dec 14 #Python
Python实现一个Git日志统计分析的小工具
Dec 14 #Python
用matplotlib画等高线图详解
Dec 14 #Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
Dec 14 #Python
python实现发送邮件功能代码
Dec 14 #Python
You might like
日本因肺炎疫情影响,这几部动漫推延播放!
2020/03/03 日漫
据说是雅虎的一份PHP面试题附答案
2009/01/07 PHP
php下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
PHP编程入门的基本语法知识点总结
2016/01/26 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
jquery 读取页面load get post ajax 四种方式代码写法
2011/04/02 Javascript
JavaScript代码复用模式实例分析
2012/12/02 Javascript
jQuery中after的两种用法实例
2013/07/03 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
浅析JavaScript中的事件机制
2015/06/04 Javascript
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
浅谈JQ中mouseover和mouseenter的区别
2016/09/13 Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
2016/11/17 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
详解webpack运行Babel教程
2018/06/13 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
JS函数进阶之继承用法实例分析
2020/01/15 Javascript
vc6编写python扩展的方法分享
2014/01/17 Python
python爬虫获取多页天涯帖子
2018/02/23 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
中国综合网上购物商城:苏宁易购
2016/08/09 全球购物
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
护理专业学生的求职信范文
2013/12/11 职场文书
学校万圣节活动方案
2014/02/13 职场文书
党支部先进事迹材料
2014/12/24 职场文书
新学期新寄语,献给新生们!
2019/11/15 职场文书
详解Flask开发技巧之异常处理
2021/06/15 Python
Java版 简易五子棋小游戏
2022/05/04 Java/Android