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分割TXT文件成4K的TXT文件
May 23 Python
python3.5仿微软计算器程序
Mar 30 Python
Python彩色化Linux的命令行终端界面的代码实例分享
Jul 02 Python
浅谈五大Python Web框架
Mar 20 Python
python中的tcp示例详解
Dec 09 Python
Python3.5 Pandas模块之Series用法实例分析
Apr 23 Python
详解Python中的内建函数,可迭代对象,迭代器
Apr 29 Python
python自动化之Ansible的安装教程
Jun 13 Python
PyQt5组件读取参数的实例
Jun 25 Python
python如何求数组连续最大和的示例代码
Feb 04 Python
Python提取视频中图片的示例(按帧、按秒)
Oct 22 Python
深入理解Pytorch微调torchvision模型
Nov 11 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/04 星际争霸
mantis安装、配置和使用中的问题小结
2014/07/14 PHP
php使用GD创建保持宽高比缩略图的方法
2015/04/17 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
深入理解Javascript中的循环优化
2013/11/09 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
使用Node.js实现HTTP 206内容分片的教程
2015/06/23 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
2015/11/24 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
Bootstrap按钮下拉菜单组件详解
2016/05/10 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
JS查找数组中重复元素的方法详解
2017/06/14 Javascript
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
vuex实现购物车功能
2020/06/28 Javascript
OpenLayers3实现鼠标移动显示坐标
2020/09/25 Javascript
[02:05]2014DOTA2西雅图邀请赛 老队长全明星大猜想谁不服就按进显示器
2014/07/08 DOTA
python学习 流程控制语句详解
2016/06/01 Python
Python while 循环使用的简单实例
2016/06/08 Python
python 扩展print打印文件路径和当前时间信息的实例代码
2019/10/11 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
Python TCP通信客户端服务端代码实例
2019/11/21 Python
PIL包中Image模块的convert()函数的具体使用
2020/02/26 Python
Python 面向对象部分知识点小结
2020/03/09 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
Keras保存模型并载入模型继续训练的实现
2021/02/20 Python
Vans奥地利官方网站:美国原创极限运动潮牌
2018/09/30 全球购物
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
求职简历自荐信
2014/06/18 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
城南旧事观后感
2015/06/11 职场文书
结婚典礼致辞
2015/07/28 职场文书
深入浅析React中diff算法
2021/05/19 Javascript
浅谈Redis中的RDB快照
2021/06/29 Redis