Science Plots使用中中文配置的问题

最近接触到了这个绘图包,专门用来绘制论文中的图,挺好看的,看起来很高大上。用起来也比较方便,但其中的中文配置问题花了好久才弄好,再次记录一下。

Github项目地址:https://github.com/garrettj403/SciencePlots

主要是运行这条命令时:

with plt.style.context(['science', 'no-latex', 'cjk-sc-font']):

会提示报错:

Font family ['serif'] not found. Falling back to DejaVu Sans.

Generic family 'serif' not found because none of the following families were not found: Noto Serif CJK SC

简单来说就是找不到"Noto Serif CJK SC"这个字体。

关于'serif'与'sans-serif'的切换 网上所说的修改matplotlibrc文件并不适用,SciencePlots的配置文件在C:\用户\用户名\.matplotlib\stylelib中。其中不同的文件对应with..代码中的'cjk-sc-font'等模式,在里面可以配置

font.serif : Noto Serif CJK SC
font.family : serif

然后就是下载字体了。

这个步骤也耗费了好多时间

这个字体必须一个字也不差 有好多相似的

这里提供我用着好用的:

​​​​​​https://github.com/googlefonts/noto-cjk/tree/main/Serif/OTF/SimplifiedChinese

把列表中的7个都下载下来,安装。(是否需要把字体放到matplotlib下面的字体文件夹我不是很确定,保险起见可以放一下:Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf)

然后还有一步。

就是清除C:\用户\用户名\.matplotlib\下的缓存文件,这一步我一开始跟着网上的做,把文件夹里的东西都删了,这样SciencePlots就报错了。应该是将fontlist-v330.json这个文件删掉就行。

然后重启python,运行程序重新生成fontlist-v330.json,就大功告成啦。你也可以在这个json文件里搜索一下"Noto Serif CJK SC"看看字体是不是成功安装并被识别,要是找不到的话,大概率是没有安装成功或是没有放对文件夹。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值