赞
踩
去年的时候给导师指导的本科师妹制作热图,学习了大神slandarer提供的热图代码:
参考来源:
Zhaoxu Liu / slandarer (2024). special heatmap (https://www.mathworks.com/matlabcentral/fileexchange/125520-special-heatmap), MATLAB Central File Exchange. 检索来源 2024/1/7.
但是今年师妹来问我,怎么做的,就已经彻底忘记了,想了好久怎么做的.
因此还是再记录一下吧,省的再忘记了。
使用的热图函数来源:https://ww2.mathworks.cn/matlabcentral/fileexchange/125520-special-heatmap
除了修改一些字体字号等,大神提供的SHeatmap.m文件里的内容几乎都不需要修改。还需要使用颜色包工具。
之后直接引用函数即可。引用也是直接参考的大神提供的现成的文件,略作修改即可。之前一直使用Origin制作热图,但是origin是没有办法制作跨对角线不同风格的。roigin制作的图如下所示:
但是SHeatmap函数可以出如下类型更复杂的图:
参考使用的代码大概如下所示,Data和色带等需要自己再设置:
clc;close all;
Data=Data2020;
figure()
SHM_m1=SHeatmap(Data,'Format','sq');
SHM_m1=SHM_m1.draw();
SHM_m1.setText('FontSize',12);
SHM_m1=SHM_m1.setType('tril');
SHM_m1.setColLabel('Visible','off')
SHM_m1.setRowLabel('Visible','on','FontSize',12);
varName={ };
SHM_m1.setVarName(varName);
SHM_m2=SHeatmap(Data,'Format','acirc');
SHM_m2=SHM_m2.draw();
SHM_m2.setType('triu0');
SHM_m2.setRowLabel('Visible','off')
SHM_m2.setColLabel('Visible','on','FontSize',12)
SHM_m2.setVarName(varName)
clim([ ])
colormap(slanCM( ))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。