Mac OS上使用matplotlib库显示中文字体

2024-06-04 7026阅读

文章目录

    • 问题描述
    • 解决步骤
    • 参考文章

      问题描述

      如果我们想要使用matplotlib画图的话,可能会出现下面的这种warning:

      UserWarning: Glyph 24212 (\N{CJK UNIFIED IDEOGRAPH-5E94}) missing from current font.
      

      解决步骤

      解决这个问题,可以按照下面的做法来实现:

      1.首先找到matplotlib库字体在那里。

      import matplotlib
      print(matplotlib.matplotlib_fname())
      

      例如我这里得到的地址就是

      /Users/user_name/miniforge3/lib/python3.9/site-packages/matplotlib/mpl-data/matplotlibrc
      

      我们就需要进入到matplotlibrc上一级目录即可

      /Users/user_name/miniforge3/lib/python3.9/site-packages/matplotlib/mpl-data/
      

      找到这里面的fonts文件夹。进入后,再进入到ttf文件夹。

      2. 在这个字体网址中找到你需要下载的字体。例如我这里需要下载宋体,就需要搜索SimSun,然后下载即可。至于,我们想找的字体的英文名字是什么,可以去这个字体名字上看。

      3. 将下载好的SimSun.tff文件放在上面提到的/Users/user_name/miniforge3/lib/python3.9/site-packages/matplotlib/mpl-data/fonts/ttf文件夹中。就像下面这个样子

      Mac OS上使用matplotlib库显示中文字体 第1张

      4. 然后修改下面这个文件路径的内容。这个路径就是你在步骤1中获得的地址(和我下面的这个不一样的)。为了保险起见,你可以先备份这个文件一份。

      /Users/user_name/miniforge3/lib/python3.9/site-packages/matplotlib/mpl-data/matplotlibrc
      

      需要修改的内容有:

      a. 你搜索我下面图中箭头所指的关键词,然后加入你刚刚下载的字体名称。就像我下载的是SimSun.tff,所以在下面两处中加入的就是SimSun

      Mac OS上使用matplotlib库显示中文字体 第2张

      b. 为了防止中文的 - 出现乱码,需要修改下面的内容。本来axes.unicode_mius: True,现在需要将其修改为False.

      Mac OS上使用matplotlib库显示中文字体 第3张

      5. 然后输入下面的代码,刷新matplotlib的字体缓存

      import shutil
      import matplotlib
      shutil.rmtree(matplotlib.get_cachedir())
      

      执行完毕后,就可以使用matplotlib库来显示中文了。使用下面的代码就可以使用宋体了。

      import matplotlib.pyplot as plt
      plt.rcParams['font.sans-serif'] = ['SimSun']
      

      参考文章

      中文字体的英文名称 (simhei, simsun) 宋体 微软雅黑

      Mac OS系统下实现python matplotlib包绘图显示中文(亲测有效)

      module ‘matplotlib.font_manager‘ has no attribute ‘_rebuild‘解决方法


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]