修改配置文件解决matplotlib中文与正负号乱码问题

步骤如下:

  • 1、 找到配置文件matplotlibrc
    不管是啥系统,都可以通过以下方式查找matplotlibrc所在的文件夹(可以在终端或者编译器中运行以下代码)
import matplotlib

# 查找字体路径
print(matplotlib.matplotlib_fname())

结果:
D:\Coding\Anaconda\lib\site-packages\matplotlib\mpl-data\matplotlibrc

使用文本编辑器打开matplotlibrc文件。

  • 2、修改配置文件
    使用Ctrl+F查找font.family所在位置,我的结果如下:
    在这里插入图片描述
    在下面的font.sans-serif后面加入想要的中文字体类型,比如我加的就是楷体KaiTi,我试了一下,如果在后面加入多个中文字体类型,会默认选择第一个的,所以根据自己的需求加就行。那么哪些字体是可以加进去的呢?
  • 3、查找可使用的字体类型并根据需求添加字体文件
    找到并打开.matplotlib文件夹,我的路径为C:\Users\14417\.matplotlib14417是我电脑的用户名。在.matplotlib中有一个名称为fontlist-v330.json的文件,里面有电脑中字体文件(后缀为.ttf)及其相对应的文字代码。使用文本编辑器打开,以KaiTi为例:
    在这里插入图片描述
    KaiTi对应的字体文件在"C:\\Windows\\Fonts\\simkai.ttf",其文字代码为KaiTiKaiTi即我们需要添加到font.sans-serif后面的。如果想用仿宋,先查找仿宋对应的字体文件及文字代码如下:
    在这里插入图片描述
    这里字体文件的路径与前面的不一样,是因为我修改了路径,这里就引出另一个问题:如果fontlist-v330.json里面没有我们想要的文件咋办?不难发现以上截图中的字典里面除了fnamename以外不同字体对应的字典中的其他键值对是一样的,因此只需要知道我们想要的字体的fnamename便可使用。fname为字体文件的路径,如果电脑有相关的字体文件则直接加上来即可,如前面的"C:\\Windows\\Fonts\\gadugib.ttf"。如果电脑没有的话,则先从网上下载相应的.ttf文件,然后放入matplotlibrc对应的字体文件夹中,我的为D:\Coding\Anaconda\Lib\site-packages\matplotlib\mpl-data\fonts\ttfmatplotlibrcD:\Coding\Anaconda\Lib\site-packages\matplotlib\mpl-data\里面,最后将fname设置为fonts\\ttf\\XX.ttf即可,name自己设置就行。
  • 4、修改配置文件解决正负号显示错误问题
    在配置文件matplotlibrc中找到unicode_minus并将其设置为False即可。
    在这里插入图片描述

记得一定一定要重启编译器,因为会有缓存,此时更改matplotlibrc的话直接运行代码还是没用的,重启之后就可以了。对于Linux系统啥的可以用print(matplotlib.get_cachedir())找到缓存文件所在的位置并删除即可。我的电脑上运行以上代码找到的缓存文件夹里并没有相关的缓存文件,重启编译器也可实现上述效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三只佩奇不结义

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值