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中split方法用法分析
Apr 17 Python
在Django中编写模版节点及注册标签的方法
Jul 20 Python
Python中循环引用(import)失败的解决方法
Apr 22 Python
python tornado微信开发入门代码
Aug 24 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
Aug 12 Python
python 进程的几种创建方式详解
Aug 29 Python
详解在python操作数据库中游标的使用方法
Nov 12 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
Feb 07 Python
Python实现ATM系统
Feb 17 Python
python_mask_array的用法
Feb 18 Python
python--shutil移动文件到另一个路径的操作
Jul 13 Python
python之pygame模块实现飞机大战完整代码
Nov 29 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
使用 eAccelerator加速PHP代码的方法
2007/09/30 PHP
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
php建立Ftp连接的方法
2015/03/07 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
分析Node.js connect ECONNREFUSED错误
2013/04/09 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
jquery版轮播图效果和extend扩展
2017/07/18 jQuery
knockoutjs模板实现树形结构列表
2017/07/31 Javascript
清空元素html("") innerHTML="" 与 empty()的区别和应用(推荐)
2017/08/14 Javascript
解决vue处理axios post请求传参的问题
2018/03/05 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
小程序如何使用分包加载的实现方法
2019/05/22 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
Python操作json数据的一个简单例子
2014/04/17 Python
python脚本实现统计日志文件中的ip访问次数代码分享
2014/08/06 Python
python去除所有html标签的方法
2015/05/05 Python
python爬虫使用cookie登录详解
2017/12/27 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
Django多层嵌套ManyToMany字段ORM操作详解
2020/05/19 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
Python Process创建进程的2种方法详解
2021/01/25 Python
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
CPB肌肤之钥美国官网:Clé de Peau Beauté
2017/09/05 全球购物
英国品牌男装折扣网站:Brown Bag
2018/03/08 全球购物
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
小学英语教师先进事迹
2014/05/28 职场文书
代办委托书怎么写
2014/08/01 职场文书
2016年端午节红领巾广播稿
2015/12/18 职场文书
Python数据分析入门之数据读取与存储
2021/05/13 Python
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技