設置 MATLAB 等值線圖顯示數值的小數位數


在使用 MATLAB 內置函數 contourf 繪制等值線圖時,有時需要更改 / 統一其顯示的數值的小數點位數。例如將圖中等值線上的數值改為保留一位小數。

代碼如下:

[xx,yy]=meshgrid(X,Y);
figure;
[C,h]=contourf(xx,yy,zz1,9);
p=clabel(C,h,'manual');  % 導出手動設置的文本信息
for n=p'
set(n,'string',sprintf('%.1f',get(n,'userdata'))); % 保留一位小數
% set(n,'string',sprintf('%d',get(n,'userdata'))); % 保留整數
end

  

需要注意的是,目前情況下,函數 clabel 只有在手動情況下才能夠導出等值線上的文本信息,所以代碼執行至 clabel 時,MATLAB會等待用戶指定等值線文本顯示位置,如圖所示:

當數值顯示位置選取完畢之后,可以點擊空白處返回,代碼會繼續執行,如圖所示:

 

 結果如圖所示:

 

 

特別感謝:

陳鶯大神

 

參考資料:

https://ww2.mathworks.cn/help/matlab/ref/clabel.html?searchHighlight=clabel&s_tid=srchtitle

https://zhidao.baidu.com/question/201393159.html

https://www.mathworks.com/matlabcentral/answers/278532-when-i-want-to-set-properties-for-my-every-contour-lines-there-is-a-warning-matlab-r2015b

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM