在默认情况下,如果你使用中文,会显示为方框乱码,解决这个问题只要在代码的起始处进行如下设置:
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
按照博主的方法好像不太行啊! 百度的姿势: 第一步:下载字体: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(很重要)
这和每个人的操作系统的字体环境和设置有关,大多数情况下是可以的,难免有些特殊的
理解。博主辛苦了!