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的列表中利用remove()方法删除元素的教程
May 21 Python
简单实现python进度条脚本
Dec 18 Python
python实现二叉查找树实例代码
Feb 08 Python
python 删除列表里所有空格项的方法总结
Apr 18 Python
Django跨域请求问题的解决方法示例
Jun 16 Python
python实现音乐下载的统计
Jun 20 Python
Flask框架踩坑之ajax跨域请求实现
Feb 22 Python
python3使用print打印带颜色的字符串代码实例
Aug 22 Python
python中struct模块之字节型数据的处理方法
Aug 27 Python
Python调用.net动态库实现过程解析
Jun 05 Python
python3 re返回形式总结
Nov 20 Python
python实现MD5进行文件去重的示例代码
Jul 09 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
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
JMenuTab简单使用说明
2008/03/13 Javascript
Prototype中dom对象方法汇总
2008/09/17 Javascript
20款超赞的jQuery插件 Web开发人员必备
2011/02/26 Javascript
JavaScript设计模式之抽象工厂模式介绍
2014/12/28 Javascript
JavaScript中的cacheStorage使用详解
2015/07/29 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
微信小程序开发探究
2016/12/27 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
layui-select动态选中值的例子
2019/09/23 Javascript
基于js实现逐步显示文字输出代码实例
2020/04/02 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
JS异步宏队列与微队列原理区别详解
2020/07/02 Javascript
vue实现验证用户名是否可用
2021/01/20 Vue.js
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
用Python shell简化开发
2018/08/08 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
python搜索包的路径的实现方法
2019/07/19 Python
浅析python 中大括号中括号小括号的区分
2019/07/29 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
德国家具购物网站:Möbel Höffner
2019/08/26 全球购物
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
北京鼎普科技股份有限公司软件测试面试题
2012/04/07 面试题
敏捷开发的主要原则都有哪些
2015/04/26 面试题
十月份红领巾广播稿
2014/01/22 职场文书
大型车展策划方案
2014/02/01 职场文书
劳资员岗位职责
2015/02/13 职场文书
博物馆观后感
2015/06/05 职场文书
2016年党校科级干部培训班学习心得体会
2016/01/06 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书