设置 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