如何解决matlab title, xlabel, legend 中文变成方框的问题
存在的问题
很多小伙伴在使用matlab编写程序的时候,会给结果图加上图标题title(’’)来提醒自己运行结果类别。但是在实际操作中会发现,当图标题为英文时可以正常显示,但是图标题中存在中文的时候,中文会变成乱码,即我们肉眼看到的方框。其中原因在于matlab的坐标axes默认字体变成了Helvetica,这种字体不支持中文,因此总是会在画图时显示为乱码或方框。我目前使用的版本是matlab 2016b。
![显示乱码的结果图](https://i-blog.csdnimg.cn/blog_migrate/1d2589ad36118da23e59ceba7da6ab33.jpeg#pic_center)
解决方案
话不多说,针对这一问题可以提供如下两种解决方案。在此之前,先在matlab编辑器中键入如下代码程序:
set(0,'defaultAxesFontName','<宋体>');
将其保存为“startup.m"。
-
将“startup.m"放在你将要编译的程序文件夹中,在运行自己程序以前先运行一下“startup.m"程序。再运行你自己的程序你会发现问题解决了。
![方案1结果图](https://i-blog.csdnimg.cn/blog_migrate/88ac353e261c316ee2559da28fd8c5cf.jpeg#pic_center)
方案1存在一个问题,在编译自己代码以前总需要先运行一下“startup.m"程序,这样也太麻烦了。那么方案2就可以解决这个麻烦。
-
将“startup.m"程序保存在matlab安装目录的“bin”文件夹中,这样在每次打开matlab软件的时候,系统会自动运行这一程序,也就避免了方案1的麻烦。
第一次写博客,可能写得不够详细,希望给有需要的小伙伴带来帮助。