matlab使用NCL提供的colormap

一、自带的colormap

matlab默认提供了几个基础的colormap,比如常见的jet和parula

matlab里调用colormap的命令是

colormap(jet)

jet到底代表什么呢。

可以看到其表示n*3的矩阵,数字介于0-1之间,分别代表红绿蓝。

二、m_map的colormap

m_map工具箱提供了很多现成的colormap,如下

 查看其调用的函数 m_colmap

本质和matlab自带的一样。

三、使用NCL的colormap
根据前面的介绍,我们可以diy自己想要的colormap,ncl提供了丰富的例子。

对于普通的科研绘图来讲,足够!

那么下一步获取 指定id对应的三维矩阵并输入matlab即可。

我diy了以下的函数,方便大家使用。

function color = ncl_colormap(colorname)

url = ['https://www.ncl.ucar.edu/Document/Graphics/ColorTables/Files/',colorname,'.rgb'];
sourcefile=urlread(url,'get','');
source = strtrim(sourcefile);
source = regexp(source, '\s+', 'split');
source(1:7) = [];
for i=1:(size(source,2))
    color(i) = str2double(source{i});    
end
integer = round(size(color,2) ./ 3); %这里是为了防止个数 不能把被3整除
color = color(1,1:integer * 3);
color = reshape(color,3,size(color,2) / 3);
color = color';
color = single(color) ./ 255;
end

 使用方法

scatter(x,y,[],z,'.');% 散点绘制; 大小颜色样式
colormap(ncl_colormap_pzp('cmocean_deep'));  

效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值