Matlab title, xlabel, legend 中文變成方框的解決方案

1、問題描述

之前一直使用的都是2015b版本,用了三年也沒遇到過這個問題。但是最近的某一天,這個著名的問題就出現了。當時打算下載2020a版,就沒有太過關注,搜索了一下解決辦法,基本都是針對編輯器的默認字體修改,試過了但無效。繪圖axes的顯示字體好像和編輯器採用的好像不是相同的字體管理方式,但是axes的字體管理界面一直都沒有找到。

換了2020a版本之後,仍然呈現方框。查了一圈博客論壇後,問題好像是:不知道從哪個版本開始,matlab的座標axes默認字體變成了Helvetica,這種字體不支持中文,因此總是會在畫圖時顯示爲亂碼或方框,我遇到的是方框。

Why is “Helvetica” the default axes font type in MATLAB when this font does not exist on my Windows XP machine?
在這裏插入圖片描述
matlab技術支持團隊的回答只是提供了一種解決方案,但是對於爲什麼Helvetica是默認字體沒有給予解釋。

Why does MATLAB use the default Helvetica font when certain True Type fonts are chosen for a text object in my MATLAB figure?

2、問題解決

C = listfonts 	% 可以查看系統中存在的字體
edit listfonts 	% 可以打開系統字體列表文件
Ans = get(0,'defaultAxesFontName');  % 運行結果可看到是Helvetica

總結來看,下面的方法可以解燃眉之急,但也不是一勞永逸,每次打開matlab還是要重複一遍。比較好的方法是在matlab的startup.m文件中加入下面的代碼。

set(0,'defaultAxesFontName', 'Monospaced');
set(0,'defaultAxesFontSize', 10);



參考鏈接:
如何解決 Matlab 畫圖時中文顯示亂碼的問題?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章