欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

让python中的matplotlib显示中文

程序员文章站 2022-03-02 08:13:53
...

python中的matplotlib仅支持Unicode编码,默认是不显示中文的,如果让其默认显示中文,有下面3种方法:

1.最简单的方法 全局设置中文字体(推荐)

  1. # -*- coding: utf-8 -*-
  2. import matplotlib.pyplot as plt
  3. from pylab import mpl
  4. mpl.rcParams['font.sans-serif'] = ['SimHei'] # 雅黑字体
  5. plt.xlabel(u"哈哈")
  6. plt.ylabel(u"哈哈")
  7. plt.title(u"哈哈")
  8. plt.show()

2.单独修改绘图的字体

  1. # -*- coding: utf-8 -*-
  2. from matplotlib.font_manager import FontProperties
  3. import matplotlib.pyplot as plt
  4. font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)
  5. plt.xlabel(u"哈哈", fontproperties=font)
  6. plt.ylabel(u"哈哈", fontproperties=font)
  7. plt.title(u"哈哈",fontproperties=font)
  8. 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


宋体:SimSuncss中中文字体(font-family)的英文名称

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

转载地址:https://blog.csdn.net/ass7798/article/details/79087312