这种顶刊的条带状热图,如何用Matlab进行绘制?

文摘   科技   2024-10-25 10:52   山东  

条带热图由共享X轴的多条渐变条带组成,其颜色表示某一特征值

与之前分享的线型热图相比,条带热图的优势在于,其能够更好地刻画细节变化,也因此可以在一些顶级期刊中看到它的身影,比如《Science》:

由于Matlab中未收录条带热图的绘制函数,因此需要大家自行设法解决

本文使用自己制作的stripheatmap小工具进行条带热图的绘制,先来看一下成品效果:

特别提示:本期内容『数据+代码』已上传资源群中,加群的朋友请自行下载。有需要的朋友可以关注同名公号【阿昆的科研日常】,后台回复关键词【全家桶】查看加入方式


 

1. 数据准备

此部分主要是读取原始数据,并初始化绘图参数

% 读取数据load data.mat% 初始化参数x = X;y = Y;z = Z;sw = 15; % 条带宽度

2. 颜色定义

作图不配色就好比做菜不放盐,总让人感觉少些味道。

但颜色搭配比较考验个人审美,需要多加尝试。

这里直接使用TheColor配色工具中的SCI权威配色库

%% 颜色定义map = TheColor('sci',496,'map',256);% map = flipud(map);

(点击上图查看TheColor具体功能)

获取方式:公众号(阿昆的科研日常)后台回复 TC

 

3. 条带热图绘制

调用‘stripheatmap’命令,绘制初始条带热图

stripheatmap(x,y,z,sw)hTitle = title('Strip Heatmap Plot');hXLabel = xlabel('K (w)');hYLabel = ylabel('Samples');view(0,90)


4. 细节优化

为了插图的美观,将初始条带热图赋上之前选择的颜色

% 赋色colormap(map)colorbar

然后,对坐标轴细节等进行美化,设置完毕后,以期刊所需分辨率、格式输出图片。

%% 图片输出figW = figureWidth;figH = figureHeight;set(figureHandle,'PaperUnits',figureUnits);set(figureHandle,'PaperPosition',[0 0 figW figH]);fileout = 'test';print(figureHandle,[fileout,'.png'],'-r300','-dpng');

也可以尝试其它配色:

以上。


5 全家桶计划

目前,Matlab条带热图的绘制【数据+代码】以上传全家桶资源群中。

全家桶计划是指将过去以及未来发布的各种相关资源统统上传到一个群中,大家加入全家桶计划后,可以随时随地地下载群中的所有资源

全家桶收录有Matlab论文插图绘制模板系列(已完结,包含3种版本*139种经典数据图,后台回复关键词【139查看单独获取方式):

Matlab进阶绘图系列除Matlab默认绘图外的复杂绘图,现包括71种经典数据图):

Nature/Science论文插图复刻系列(让论文插图达到顶刊效果,现包括5种数据图):

顶刊论文高清图集系列,包括Nature高清图集(学习Nature绘图思路,包括2400张左右):

Science高清图集(学习Science绘图思路,超1000张):

Matlab配色补充包系列(包括配色强化addcolorplus、450种常用色colorplus、SCI专用配色工具Rggsci、艺术品配色包Metbrewer以及中国、日本、美国、英国、法国传统颜色等):

Matlab科研绘图精品工具包(包括渐变色生成/编辑器ColorMap、渐变色生成器专业版ColorMapPro、光影渲染器Shadow、顶级期刊配色拷贝工具ColorCopy和图片数据提取工具Fig2Data):

以及Matlab终极配色工具TheColor(2套):

公众号后台回复关键词【全家桶】查看加入方式。

以上。


如果你觉得我的分享对你有帮助的话,欢迎大家在这里点赞、在看、分享。当然,也欢迎大家在这里打赏。互动越多,更新越快哦~

声明:本公众号的所有原创内容,在未经允许的情况下,不得用于任何商业用途,违者必究。


阿昆的科研日常
测绘科普,经验分享,科研日常,蜜汁脑洞
 最新文章