使用中文

阅读: 4999     评论:3

在默认情况下,如果你使用中文,会显示为方框乱码,解决这个问题只要在代码的起始处进行如下设置:

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

以上方法是只能临时使用,每次都要执行。如果想一劳永逸,那么必须修改配置文件。

>>> import matplotlib as mpl
>>> mpl.matplotlib_fname()
'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc'

用文本编辑器打开这个matplotlibrc文件,找到下面这行:

#font.serif    : DejaVu Serif, Bitstream Vera Serif,...

将前面的注释符号去掉。

然后去C:\Windows\Fonts\Microsoft中复制一个你想要的字体ttf文件,或者别处的字体文件,将它粘贴到..\mpl-data\fonts\ttf文件夹中,并给它重命名为Vera.ttf

还有一个坐标轴的负号正常显示的配置修改:

#去掉注释符号,同时,改为False
axes.unicode_minus  : False

 两种图画接口 线型图 

评论总数: 3


点击登录后方可评论

按照博主的方法好像不太行啊! 百度的姿势: 第一步:下载字体:msyh.ttf (微软雅黑) 1> 放在系统字体文件夹下: /usr/share/fonts 2> 同时也复制了放在matplotlib的字体文件夹: /usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/fonts/ttf/ 第二步:修改matplotlib配置文件: 找到 /usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/matplotlibrc , 用文字编译器打开文件,查找并删除font.family和font.sans-serif两行前的#,并在font.sans-serif后添加中文字体Microsoft YaHei, …(其余不变) 删除.matplotlib/cache里面的两个缓存字体文件,C:\Users\你的用户名.matplotlib 重启Python(很重要)



这和每个人的操作系统的字体环境和设置有关,大多数情况下是可以的,难免有些特殊的



理解。博主辛苦了!