今天给大家分享的是在使用matlab进行有限元编程时,如何增加后处理云图的colormap种类?
在经常使用Paraview进行后处理显示时,会逐渐喜欢上它的云图配色方案,默认coolwarm的就看着很舒服,类似这样的:
给我的感觉:不花哨,且好看。
MFEAOOP作为一整套的有限元程序,在进行云图显示时,除了导出vtk文件,当然还要考虑自身后处理部分,使用Matlab内置的colormap总感觉差点意思。
于是乎,萌生一个想法:自定义colormap。
首先的尝试就是:能不能把python的Matplotlib的内置colormap搞到matlab,原理就是使用colormap的RGB色值。
说搞就搞!在一个开源项目(https://github.com/kunyiwang/Colormap_MATLAB)的帮助下,木木将Matplotlib的内置colormap全部导出至matlab,存储为.mat文件,使用时仅需引用相应的colormap名字即可,比如,我是这样设计的:
% 用户输入的颜色映射名称
colorMapName = jsonData.plot.colorMap;
% 检查用户输入是否为 MATLAB 内置的 colormap
try
% 尝试使用内置 colormap
color = colormap(colorMapName);
catch
% 如果不是内置 colormap,则从 color_maps.mat 文件中加载
S = load("color_maps.mat", colorMapName);
if isfield(S, colorMapName)
color = S.(colorMapName);
else
error("Colormap '%s' not found in color_maps.mat and is not a MATLAB built-in colormap.", colorMapName);
end
end
使用程序时仅需在配置文件json文件中,将colorMap
替换为colormap名字,程序支持Matlab内置的配色方案、Matplotlib官网配色方案以及自定义的Abaqus默认配色方案,共计89种。可利用相同的道理继续扩充,不过我觉得没必要,够用了!
接下来我将配色方案的名字及渲染效果展示如下:
如果大家对本次推文展示的colormap感兴趣,可在后台回复:colormap
,可自动获取相应的下载链接。
以上就是今天分享的有限元程序小点滴,感谢您的碎片化阅读,希望该篇推文对您有所帮助。
参与更多互动交流,快快在下方留言区留下你的小脚印吧~
-End-
易木木响叮当
想陪你一起度过短暂且漫长的科研生活