Matplotlib 修改中文乱码 修改配置文件

第一种直接在程序里输入

-- plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
-- plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

最近找到一种一劳永逸的方法,经测试有效,下面介绍具体方法:

进入C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data该文件夹下就能看到matplotlibrc配置文件。(这里的路径是你的安装目录,视个人情况而定)

1)打开该配置文件,找到下面这两行:

font.serif : DejaVu Serif, Bitstream Vera Serif, New Century Schoolbook

font.sans-serif : DejaVu Sans, Bitstream Vera Sans, Lucida Grande, Verdana,

然后将开头的两个注释符删掉。

axes.unicode_minus : True # use unicode for the minus symbol

该处是为了能够使坐标轴上的负号正常显示,同样将开头的注释符#去掉,然后将True改为False:

axes.unicode_minus : False # use unicode for the minus symbol

2)找中文字体放到matplotlib字体库中。

在Windows文件夹下:C:\Windows\Fonts\复制该字体(例如此处我复制的为:楷体 常规(文件名为simkai.ttf。注意要看下字体的属性,须复制后缀名为ttf的)),然后粘贴到C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data\fonts\ttf(这里依然是安装目录)文件夹。

注明:这一步的作用其实就是将matplotlib中一个默认的字体替换为我们复制过来的中文字体,将这个中文字体命名改为matplotlib中有的字体名。

Matplotlib 修改中文乱码 修改配置文件_第1张图片
image.png

可以看到我们的字体文件的注册名字为KaiTi。

4)将我们的字体文件的注册名字加到配置文件代码中sans-serif后面:

font.sans-serif : KaiTi, DejaVu Sans, Bitstream Vera Sans...................................

import matplotlib
import matplotlib.pyplot as plt
plt.figure()
plt.title("标题")
plt.show()

你可能感兴趣的:(Matplotlib 修改中文乱码 修改配置文件)