数据可视化系列四:Othercolor

写在开头

工欲善其事,必先利其器。这期介绍的配色神器——Othercolor。还在为matlab单调的jet色调苦恼吗?还在默默计算rgb手动制作colormap吗?赶快对这些say no,投入Othercolor的怀抱吧

方法:Othercolor

软件:matlab

用途:给你的图片高大上的配色。

源脚本链接:http://nl.mathworks.com/matlabce ... ge/30564-othercolor (version 1.7 (186 KB) by Joshua Atkins)

如果你熟悉matlab中colormap的原理,那理解起来就很简单,othercolor其实就是非常多配色的3*N的矩阵,3列对应RGB,N对应颜色过渡的层数。让我们举个例子来看,如何调用这个功能。

% Step 1:赋值colormap

cus_map = othercolor('BuOr_12'); % BuOr_12是othercolor中根据个人喜好选取的一个配色

% Step 2:与画图函数结合执行(此处以脑电topo图为例)

save_dir = 'C:\Users\Administrator\Desktop\EEG\Analyses' % 你存放该脚本和附件std_chan_info.mat的路径

load(fullfile(save_dir,'std_chan_info.mat'),'std_chan_locs'); % 11个通道的位置文件,点击下载(文件名std_chan_info.mat)

data = rand(11,1);

topoplot(data,std_chan_locs,...

'electrodes','on','numcontour',0,'maplimits',[0 1],'colormap',cus_map);colorbar;

%典型的EEGLAB画地形图函数,不熟悉的同学可以help topoplot来看看。

效果如下:

除了BuOr_12,othercolor还有非常多的配色(接近300多种),大家都可以一个个尝试,挑选自己喜欢的高大上配色。

.

虽然以上配色已经基本满足大部分的需求,有些同学还有special诉求,他们看到某些大牛文章里的colorbar配色,十分羡慕,但是不知道他们的RGB及对应渐变。这时候不得不提以下黑科技。

具体过程如下:

% Step 1:截图。首先是某文献中自己喜欢的图,选择喜欢的colorbar进行截图(只截取颜色条,不包括数值),保存为colorRead.jpg

% Step 2:读取。

imread('colorRead.jpg’); % 得到了一个23*189*3的矩阵,其中23是宽(高),189是长,3是RGB的维数

color=ans(11,:,:); % 得到中间一条的颜色信息

colorfinal=reshape(color,189,3); % 最后得到中间一条每个点的RGB

colormap(double(colorfinal)/255) ; % 需要转化成双精度,0-1之间的数值

colorbar;

colorsave=double(colorfinal)/255;

save colorsave colorsave -ASCII; %将colorbar保存以后使用

效果如下(是不是十分接近原文效果):

有同学提出,很多文献中的colorbar往往不是渐变色的,可能是分段的,那么可以通过将原来的colorbar进行手动分段截取,多次使用该脚本获取相应rgb值。

-----------------

如果你喜欢这篇文章,不妨点个赞或者转发一下,让更多人分享到。

凡发布在心心水滴论坛资源分享及教程帖,所有权归作者所有,最终解释权归公众号所有。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180117G0RBEH00?refer=cp_1026

扫码关注云+社区