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 相关文章推荐
pygame学习笔记(6):完成一个简单的游戏
Apr 15 Python
Python 专题二 条件语句和循环语句的基础知识
Mar 19 Python
浅谈python中的占位符
Nov 09 Python
名片管理系统python版
Jan 11 Python
使用python3+xlrd解析Excel的实例
May 04 Python
pyspark操作MongoDB的方法步骤
Jan 04 Python
详解Python_shutil模块
Mar 15 Python
Python实现制度转换(货币,温度,长度)
Jul 14 Python
Django多数据库配置及逆向生成model教程
Mar 28 Python
Keras:Unet网络实现多类语义分割方式
Jun 11 Python
利用Python实现Json序列化库的方法步骤
Sep 09 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
Mar 02 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中的超全局变量
2006/10/09 PHP
微信自定义菜单的处理开发示例
2015/04/16 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
javascript抖动元素的小例子
2013/10/28 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
JavaScript访问字符串中单个字符的两种方法
2015/07/03 Javascript
浅析JavaScript 调试方法和技巧
2015/10/22 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
2016/10/13 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
js实现右键自定义菜单
2016/12/03 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
2016/12/25 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
vue里面使用mui的弹出日期选择插件实例
2018/09/16 Javascript
微信小程序Flex布局用法深入浅出分析
2019/04/25 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
使用vue for时为什么要key【推荐】
2019/07/11 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
python实现中文转换url编码的方法
2016/06/14 Python
Python numpy 常用函数总结
2017/12/07 Python
Python 字符串换行的多种方式
2018/09/06 Python
Python unittest单元测试框架总结
2018/09/08 Python
学习Python列表的基础知识汇总
2020/03/10 Python
python用什么编辑器进行项目开发
2020/06/17 Python
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
Aosom西班牙:家具在线商店
2020/06/11 全球购物
党员个人整改方案及措施
2014/10/25 职场文书
地心历险记观后感
2015/06/15 职场文书
详解MySQL事务的隔离级别与MVCC
2021/04/22 MySQL
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang
Pytorch实现图像识别之数字识别(附详细注释)
2021/05/11 Python
python基础入门之普通操作与函数(三)
2021/06/13 Python
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers