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代码打包为jar软件的简单方法
Aug 04 Python
python学习 流程控制语句详解
Jun 01 Python
python爬取淘宝商品详情页数据
Feb 23 Python
pyqt5 获取显示器的分辨率的方法
Jun 18 Python
PYTHON发送邮件YAGMAIL的简单实现解析
Oct 28 Python
使用Tensorflow将自己的数据分割成batch训练实例
Jan 20 Python
Django用数据库表反向生成models类知识点详解
Mar 25 Python
Django 解决上传文件时,request.FILES为空的问题
May 20 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
Jun 04 Python
python 判断一组数据是否符合正态分布
Sep 23 Python
python BeautifulSoup库的安装与使用
Dec 17 Python
Python Django ORM连表正反操作技巧
Jun 13 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
PHP控制网页过期时间的代码
2008/09/28 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
让焦点自动跳转
2006/07/01 Javascript
自动更新作用
2006/10/08 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
Jquery和Js获得元素标签名称的方法总结
2016/10/08 Javascript
vue父子组件的数据传递示例
2017/03/07 Javascript
JS验证码实现代码
2017/09/14 Javascript
小程序实现带年月选取效果的日历
2018/06/27 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
Python中用函数作为返回值和实现闭包的教程
2015/04/27 Python
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
python pcm音频添加头转成Wav格式文件的方法
2019/01/09 Python
django 自定义filter 判断if var in list的例子
2019/08/20 Python
python 图像的离散傅立叶变换实例
2020/01/02 Python
Python openpyxl 插入折线图实例
2020/04/17 Python
python通过函数名调用函数的几种场景
2020/09/23 Python
python实现扫雷游戏的示例
2020/10/20 Python
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
Diptyque英国官方网站:源自法国的知名香氛品牌
2019/08/28 全球购物
PHP笔试题
2012/02/22 面试题
应用服务器有那些
2012/01/19 面试题
表彰大会策划方案
2014/05/13 职场文书
公共场所禁烟标语
2014/06/25 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
作弊检讨书范文
2015/05/06 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python