在用matplotlib包画图时,如果只是在英文的工作环境,图中英文、数字还是符号一般显示都是正常的。但是,当在图中使用中文的文本显示时,往往会在本应该中文文字显示的区域乱码,乱码的形式有很多种情况,比如说用方框“□”替代每一个中文字符。
最根本的问题是,matplotlib这个包在最初始化的状态不含有中文的字体,只能支持像英文、数字或者符号的一些字符的显示。
那接下来,根据以下方式在windows的环境中,添加适用为中文的字体。
1. 查看地址
import matplotlibmatplotlib.matplotlib_fname()#output:#以我的地址为例'c:\\users\\******\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc'
2.在这个地址下c:\\users\\******\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\matplotlib\\mpl-data,有如图这样一个文件夹列表。文件夹 fonts 为字体文件夹,matplotlibrc为配置文件。
下载中文字体 SimHei.ttf 到文件夹 fonts->ttf内。
(额外的话,在电脑的这个地址其实也有很多中文字体可以复制过去,C:\Windows\Fonts)
3.修改配置文件
用记事本打开matplotlibrc
4.删除缓存
c:\\users\\******地址下,删除文件夹
5.重启IDE
这样画图的中文文字显示就正常了。