小陆同学

python 中文名:蟒蛇,设计者:Guido van Rossum

导航

centos matplot中文字体显示方框问题解决

1、下载安装中文字体,2、加载字体库
pip3 install matplotlib==3.3.2
  1. 安装完成之后终端输入python3, 输入以下命令,获取matplotlibrc文件所在路径,找个地方保存一下,后面会用到

    165:/usr/local/python3.7.0/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

    186:  /usr/local/python3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

  2. 查看系统中的所有字体,以及可用的中文字体
    import matplotlib.font_manager
     a = sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])
    for i in a: print(i)
  3. 创建/usr/share/fonts/newfontsdir文件夹
  4.  下载微软雅黑,地址centos雅黑字体下载路径 ,下载之后解压,将解压之后的*.ttf文件传入/usr/share/fonts/newfontsdir
  5. 进入/usr/share/fonts/newfontsdir文件夹,输入以下命令
    sudo mkfontscale(如果提示 mkfontscale: command not found,需自行安装 # yum install mkfontscale )
    sudo mkfontdir
    fc-cache -fv (如果提示 fc-cache: command not found,则需要安装# yum install fontconfig )
  6. 输入命令:fc-list 命令查找一下刚才下载的中文字体的font-family.
  7. 修改matplotlibrc文件,vim 第1步获取的路径

     

     

     

     

  8. cp /usr/share/fonts/newfontsdir/文泉驿等宽正黑.ttf  复制到第1步得到的路径去掉matplotlibrc,在/mpl-data/后面拼接fonts/ttf/

   9. 重新加载字体库
from matplotlib.font_manager import _rebuild
_rebuild()
import matplotlib.pyplot as plt

from matplotlib.font_manager import FontProperties  

 

#引用中文字体

font = FontProperties(fname='/usr/local/python3.7.0/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/文泉驿等宽正黑.ttf')

plt.figure(u'中文')

plt.plot([1,2,3,4],[-2,-1,0,1])

plt.title(u'今天',fontproperties=font)

plt.xlabel(u'明天',fontproperties=font)

plt.ylabel(u'昨天',fontproperties=font)

plt.savefig('1.png')

 


posted on 2022-01-16 11:00  小陆同学  阅读(448)  评论(0编辑  收藏  举报