爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6357|回复: 1

[程序设计] 【分享】Matlab中colorbar箭头绘制工具

[复制链接]

新浪微博达人勋

发表于 2019-12-24 16:34:12 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 葫芦爷儿 于 2019-12-24 16:36 编辑

在群里看到有人问过matlab中colorbar能否画成三角的形式。
之前只知道python和ncl可以画,今天查到了两个工具包cbarrowcbarf,


家园中也有人提供了该方案: http://bbs.06climate.com/forum.php?mod=viewthread&tid=92167&highlight=colorbar
cbarrow是在colobar上画三角
cbarf 是利用axis重绘制了一个colorbar

如果调整cbarf的字体大小等,需要找到对应代码进行修改,如字体大小
  1. %   set(ax,'xtick',[],'yaxislocation','right','ytick',yt,'yticklabel',ytl);
  2.   set(ax,'xtick',[],'yaxislocation','right','ytick',yt,'yticklabel',ytl, 'fontsize', 15);
复制代码
调用时,需要注意先确定colormap的颜色和范围,因为cbarf 是取得当前的colomap进行绘制。如
可以用h1.Position调整colobar的位置。
  1. % colorbar设置
  2. caxis([0,depth_max])
  3. colormap(othercolor(colormap_name))
  4. h1 = cbarf(dep, level_colorbar);
  5. % 调整colorbar位置
  6. h1.Position=[0.89, 0.15, 0.05, 0.7];
复制代码



参考网址:
cbarrow https://ww2.mathworks.cn/matlabc ... -colorbars?s_tid=sr
cbarf  https://ww2.mathworks.cn/matlabcentral/fileexchange/14290-cbarf?s_tid=srchtitle
如果没有Matlab账号,申请一个。
!可以直接从链接网站的function下把对应函数下载下来。


以下是该函数的测试…
test.png

cbarf.zip

3.33 KB, 阅读权限: 10, 下载次数: 29, 下载积分: 金钱 -5

cbarrow_v1.1.zip

393.53 KB, 阅读权限: 10, 下载次数: 69, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-12-24 16:43:27 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表