python matplot 解决不能输出中文的问题
2018-01-17 16:57
639 查看
python中的matplotlib仅支持Unicode编码,默认是不显示中文的,如果让其默认显示中文,有下面3种方法:
1.最简单的方法 全局设置中文字体(推荐)# -*- coding: utf-8 -*- import matplotlib.pyplot as plt from pylab import mpl mpl.rcParams['font.sans-serif'] = ['SimHei'] # 雅黑字体 plt.xlabel(u"哈哈") plt.ylabel(u"哈哈") plt.title(u"哈哈") plt.show()
2.单独修改绘图的字体
# -*- coding: utf-8 -*- from matplotlib.font_manager import FontProperties import matplotlib.pyplot as plt font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14) plt.xlabel(u"哈哈", fontproperties=font) plt.ylabel(u"哈哈", fontproperties=font) plt.title(u"哈哈",fontproperties=font) plt.show()
3.修改源文件
①在python的安装目录中找到配置文件: %Python_Home%\Lib\site-packages\matplotlib\mpl-data\matplotlibrc (如,我的是在C:\Python34\Lib\site-packages\matplotlib\mpl-data),用任意文本编辑器打开。
②找到139行的font.family : sans-serif将其前面的#注释号去掉
③找到151行的font.sans-serif :AR PL UMing CN, SimHei,
Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif将【AR PL UMing CN, SimHei】添加在最前面,其中AR
PL UMing CN代表:宋体。SimHei代表:黑体。并将前面的#注释号去掉,重启编辑器后,便可显示中文了。
④同时需要更改264行的axes.unicode_minus : False;使其值为False;否则无法显示负号
字体和英文对照
下文出处:http://www.360doc.com/content/14/0713/12/16740871_394080556.shtml这是别人整理的Windows的字体对应名称,根据需要自行更换!
黑体 | SimHei |
微软雅黑 | Microsoft YaHei |
微软正黑体 | Microsoft JhengHei |
新宋体 | NSimSun |
新细明体 | PMingLiU |
细明体 | MingLiU |
标楷体 | DFKai-SB |
仿宋 | FangSong |
楷体 | KaiTi |
仿宋_GB2312 | FangSong_GB2312 |
楷体_GB2312 | KaiTi_GB2312 |
Mac OS的一些:
华文细黑:STHeiti Light [STXihei]
华文黑体:STHeiti
华文楷体:STKaiti
华文宋体:STSong
华文仿宋:STFangsong
儷黑 Pro:LiHei Pro Medium
儷宋 Pro:LiSong Pro Light
標楷體:BiauKai
蘋果儷中黑:Apple LiGothic Medium
蘋果儷細宋:Apple LiSung Light
Windows的一些:
新細明體:PMingLiU
細明體:MingLiU
標楷體:DFKai-SB
黑体:SimHei
新宋体:NSimSun
仿宋:FangSong
楷体:KaiTi
仿宋_GB2312:FangSong_GB2312
楷体_GB2312:KaiTi_GB2312
微軟正黑體:Microsoft JhengHei
微软雅黑体:Microsoft YaHei
装Office会生出来的一些:
隶书:LiSu
幼圆:YouYuan
华文细黑:STXihei
华文楷体:STKaiti
华文宋体:STSong
华文中宋:STZhongsong
华文仿宋:STFangsong
方正舒体:FZShuTi
方正姚体:FZYaoti
华文彩云:STCaiyun
华文琥珀:STHupo
华文隶书:STLiti
华文行楷:STXingkai
华文新魏:STXinwei
相关文章推荐
- python 1: 解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题
- 解决python27 matplotlib 中文不显示问题
- 解决python27 matplotlib 中文不显示问题
- 解决mac上matplotlib(plot)无法显示中文的问题 (Python)
- Python 3下使用Matplotlib工具画图,中文显示乱码的问题解决(修改配置文件)
- 解决python27 matplotlib 中文不显示问题
- 解决python27 matplotlib 中文不显示问题
- 解决python27 matplotlib 中文不显示问题
- 解决matplotlib不能显示中文的问题(Ubuntu)
- Mac 系统下 解决python matplot画图中文乱码问题和plot.show()无响应问题
- 解决sublime3,python3不能输出中文问题
- 解决python27 matplotlib 中文不显示问题
- 解决python27 matplotlib 中文不显示问题
- 解决python27 matplotlib 中文不显示问题
- 解决python27 matplotlib 中文不显示问题
- 解决windows下 Python中 matplotlib 做图中文不显示的问题
- Python中matplotlib图像里的中文输出问题
- 解决python27 matplotlib 中文不显示问题
- 解决python27 matplotlib 中文不显示问题
- 解决Linux系统中python matplotlib画图的中文显示问题