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解析xml成对应的html示例分享
Apr 02 Python
Python XML RPC服务器端和客户端实例
Nov 22 Python
Python实现爬取知乎神回复简单爬虫代码分享
Jan 04 Python
Python json模块使用实例
Apr 11 Python
全面解析Python的While循环语句的使用方法
Oct 13 Python
Python3实现Web网页图片下载
Jan 28 Python
python list转置和前后反转的例子
Aug 26 Python
python打开使用的方法
Sep 30 Python
pygame实现弹球游戏
Apr 14 Python
解决python中import文件夹下面py文件报错问题
Jun 01 Python
在keras中model.fit_generator()和model.fit()的区别说明
Jun 17 Python
python 使用建议与技巧分享(四)
Aug 18 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-accelerator网站加速PHP缓冲的方法
2008/07/30 PHP
php判断字符以及字符串的包含方法属性
2008/08/30 PHP
PHP冒泡排序算法代码详细解读
2011/07/17 PHP
php读取大文件示例分享(文件操作类)
2014/04/13 PHP
微信 getAccessToken方法详解及实例
2016/11/23 PHP
简述php环境搭建与配置
2016/12/05 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
2020/03/18 PHP
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
yepnope.js 异步加载资源文件
2011/09/08 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
2017/06/17 Javascript
详解vue-cli构建项目反向代理配置
2017/09/07 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
原生JS实现京东查看商品点击放大
2020/12/21 Javascript
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
django框架cookie和session用法实例详解
2019/12/10 Python
Django多进程滚动日志问题解决方案
2019/12/17 Python
python生成任意频率正弦波方式
2020/02/25 Python
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
英文留学推荐信范文
2014/01/25 职场文书
教室布置标语
2014/06/26 职场文书
研究生导师评语
2014/12/31 职场文书
长城导游词400字
2015/01/30 职场文书
结婚堵门保证书
2015/05/08 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
校园广播稿范文
2015/08/19 职场文书
大学组织委员竞选稿
2015/11/21 职场文书