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实现的简单dns查询功能示例
May 24 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
Nov 06 Python
解决vscode python print 输出窗口中文乱码的问题
Dec 03 Python
Python使用Selenium爬取淘宝异步加载的数据方法
Dec 17 Python
python爬虫超时的处理的实例
Dec 19 Python
Python 正则表达式匹配字符串中的http链接方法
Dec 25 Python
Python使用post及get方式提交数据的实例
Jan 24 Python
在python中用url_for构造URL的方法
Jul 25 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
Aug 07 Python
基于python3的socket聊天编程
Feb 17 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
Apr 02 Python
Python基于smtplib协议实现发送邮件
Jun 03 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
实现树状结构的两种方法
2006/10/09 PHP
简单的过滤字符串中的HTML标记
2006/12/25 PHP
php经典算法集锦
2015/11/14 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
老生常谈PHP面向对象之解释器模式
2017/05/17 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
在Z-Blog中运行代码[html][/html](纯JS版)
2007/03/25 Javascript
js异常捕获方法介绍
2013/04/10 Javascript
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
2016/07/07 Javascript
JavaScript制作弹出层效果
2016/12/02 Javascript
layer.confirm取消按钮绑定事件的方法
2018/08/17 Javascript
基于layui实现高级搜索(筛选)功能
2019/07/26 Javascript
javascript数组的定义及操作实例
2019/11/10 Javascript
Python数组条件过滤filter函数使用示例
2014/07/22 Python
详解flask表单提交的两种方式
2018/07/21 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
使用pandas读取文件的实现
2019/07/31 Python
Python对excel的基本操作方法
2021/02/18 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
AmazeUI 单选框和多选框的实现示例
2020/08/18 HTML / CSS
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
单位消防安全制度
2014/01/12 职场文书
接受捐赠答谢词
2014/01/27 职场文书
影子教师研修方案
2014/06/14 职场文书
幼儿园爱国卫生月活动总结
2014/06/30 职场文书
无保留意见审计报告
2015/06/05 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers
SQL Server数据库查询出现阻塞之性能调优
2022/04/10 SQL Server
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL