主修物理海洋学,有变量空间场的画图需求,这是遇到的一些细节问题,部分灵感来自于网络。

本人在画陆地数据加温盐场的图时,需要调用两个colormap,这有很多种解决办法;

普通的2014b以后的版本来讲,对于一个ax1 = axes(),ax2 = axes();

两个坐标轴上的绘图可以直接用colormap(ax1,'jet') colormap(ax2,'gray')来控制;

但是遇到和m_map工具包加上了m_grid之后坐标轴问题就会比较麻烦;

本人当成一个黑箱在用,并不想去读并改其源代码,所尝试的可行的有两种:两幅图拼接成一个colorbar,实际上就是拼接成一个colormap,实现起来太麻烦了

第二种利用一个大佬John Iversen写的FreezeColors程序包,上传到了matlab官方,以下是一个例子

上面两幅图分别是只画了陆地高程和海表温度,图很丑只做例子凑合看。部分画图代码如下

figure,hold on

m_proj('Miller','lon',[lonlim1 lonlim2],'lat',[latlim1 latlim2])

m_contourf(x,y,z',[0:100:8000],'linestyle','none','levelstep',.1);% 陆地高程

m_grid('box','fancy','xtick',[0:5:180],'ytick',[0:5:90],'linestyle','none',...

'linewidth',0.5,'backcolor','none');

colormap([m_colmap('gland',80)]);

caxis([0 8000])

colorbar

figure,hold on

m_proj('Miller','lon',[lonlim1 lonlim2],'lat',[latlim1 latlim2])

m_contourf(lon,lat,sst','linestyle','none','levelstep',.1);% 海表温度

m_grid('box','fancy','xtick',[0:5:180],'ytick',[0:5:90],'linestyle','none',...

'linewidth',0.5,'backcolor','none');

colormap('jet');

caxis([28 31])

colorbar

把两个图凑到一起该咋办,利用FreezeColors加在哪个位置坐标轴怎么设置都不行,很绝望

查了之前画的一个图,此图是水深m_pcolor与散点m_scatter画的

突然想到会不会是不能用同一个画图命令m_contourf的原因

单独修正陆地高程或两个绘图为m_pcolor就可以了,单修正海表温度为pcolor就不行

怀疑是contourf的问题

figure,hold on

m_proj('Miller','lon',[lonlim1 lonlim2],'lat',[latlim1 latlim2])

pc = m_pcolor(x,y,z');% 陆地高程

set(pc,'linestyle','none');

m_grid('box','fancy','xtick',[0:5:180],'ytick',[0:5:90],'linestyle','none',...

'linewidth',0.5,'backcolor','none');

colormap([m_colmap('gland',80)]);freezeColors

caxis([0 8000])

% m_contourf(lon,lat,sst','linestyle','none','levelstep',.1);

pc = m_pcolor(lon,lat,sst');% 海表温度

set(pc,'linestyle','none');

colormap('jet');

caxis([28 31])

colorbar

代码如上,图片如下,但是这幅图太丑了,决定不用陆地高程了

老老实实在加精细岸线的时候之前未解决的一个问题突然想去解决下,陆地上的河流湖泊看起来很丑

搞了半天,之前博文里提到了如何添加国界线,利用里面一行命令加岸线就能去掉了

代码和图:

figure,hold on

m_proj('Miller','lon',[lonlim1 lonlim2],'lat',[latlim1 latlim2])

% m_gshhs_l('patch',[0.7 0.7 0.7],'Edgecolor','none');% 只加这行会有河流对应左图

m_gshhs('lc1','patch',[0.7 0.7 0.7],'Edgecolor','k');% 只加这行没有河流对应右图

m_grid('box','fancy','xtick',[0:10:180],'ytick',[0:10:90],'linestyle','none',...

'linewidth',0.5,'backcolor','none');

m_contourf(lon,lat,sst','linestyle','none','levelstep',.1);

colormap('jet');

caxis([28 31])

colorbar

转载本文请联系原作者获取授权,同时请注明本文来自肖鑫科学网博客。

链接地址:http://blog.sciencenet.cn/blog-3386114-1209501.html

上一篇:Matlab 利用新建坐标轴绘制多列legend

下一篇:Dynamical Normalized Seasonality in Matlab

matlab如何画图时去掉陆地点,科学网—Matlab m_map一张地图上使用用多个colormap以及patch精细岸线数据去除河流 - 肖鑫的博文...相关推荐

  1. matlab在图片上显示文字颜色,科学网-解决matlab saveas printf保存图片时 colorbar中的字体颜色发生改变-肖鑫的博文...

    matlab在画多个图片循环保存时很容易出现看到的图跟保存的图片不一样,最常见的是大小不同导致坐标轴拉伸变形,主要是图片分辨率跟屏幕分辨率不同的原因,这个可以通过在设置figure时,固定画布大小解决 ...

  2. 文本框赋值guide matlab,科学网-Matlab: 学习GUI (使用GUIDE时需注意的几个问题)-刘磊的博文...

    在博文<Matlab:学习GUI(一个简单的例子)>(介绍的方法是完全用代码来建立一个GUI,实际上Matlab本身有一个设计GUI的交互系统--GUIDE,用户可以使用该系统更方便的建立 ...

  3. matlab print 保留颜色,科学网—解决matlab saveas printf保存图片时 colorbar中的字体颜色发生改变 - 肖鑫的博文...

    matlab在画多个图片循环保存时很容易出现看到的图跟保存的图片不一样,最常见的是大小不同导致坐标轴拉伸变形,主要是图片分辨率跟屏幕分辨率不同的原因,这个可以通过在设置figure时,固定画布大小解决 ...

  4. matlab 图的标注文字,科学网-Matlab画图(二):动画及文字标注-周建锋的博文

    俗话说"一图胜千言".在报告中用动画来展示一些关键性内容,可以收到更好的效果,也更能吸引观众的注意力.在这里,我们介绍如何用Matlab生成一些简单的动画,以及如何在画面中添加文字 ...

  5. matlab使用load指令,科学网—matlab常用方法 - 陈超的博文

    之前将数组或者矩阵保存为一个mat格式的文件,在进行load命令读取时: s1=load('qiyipuzong.mat'): 得到的s1是struct类型的数据,而我想要的是一个矩阵或者数组. 经过 ...

  6. matlab中的mkdir函数_科学网—Matlab中计算函数运行时间的三种方法及判断新建文件夹 - 张伟的博文...

    (一)运行时间 1.tic和toc组合 计算daotic和toc之间那专段程序之间的属运行时间,它的经典格式为 : tic 函数 toc 复制函数代码,当代码遇到tic时Matlab自动开始计时,运行 ...

  7. matlab中if语句多个_科学计算 | MATLAB程序设计基础

    点击"蓝字"关注我们 科学计算 | MATLAB程序设计基础 引言 在前面的学习中,我们都是在命令行窗口逐条输入命令,然后由matlab解释执行,这种交互式的命令执行方式,操作简单 ...

  8. matlab 水平投影,科学网—Matlab中如何将投影信息写入到shape文件中 - 朱永超的博文...

    在Matlab中保存shape格式数据时,没有具体的函数可以将投影信息直接写入到shape文件中,不过可以通过另外一种方式实现.看下shape格式的文件不难发现,shape文件的投影信息是一个单独的文 ...

  9. matlab 命令文件转成函数文件,科学网—[转载]利用MATLAB将nc文件转成tif - 张乐乐的博文...

    参考链接:https://blog.csdn.net/yangjh1991/article/details/69788778 Lon = ncread(InFile,'lon'); %读取经度数据 L ...

最新文章

  1. thinkphp5 mysql长连接_tp5(thinkPHP5)框架连接数据库的方法示例
  2. CSS3 background-size 属性值:cover
  3. 【IDEA】自动导入无歧义的包
  4. Day10 Python基础之特殊函数(八)
  5. LeetCode 332. 重新安排行程(欧拉路径)
  6. c语言设计匀速直线运动,C语言课程设计指导书2015版(试用版)201506.doc
  7. 计算机网络英文题库,强烈推荐计算机网络英文试题库(附答案)chapter.doc
  8. python切片的对象_Python 对象切片
  9. SQLPro Studio for Mac(数据库管理器)2022.14
  10. apache2 wordpress目录权限_Linux下WordPress建站步骤
  11. SEM竞价推广,如何选择关键词?
  12. 2019 数学建模 省一·国赛(高教杯-C题 “互联网+”时代的出租车资源配置
  13. python去除空行_Python中去除文件空行(strip)
  14. Redis实现分布式锁(setnx、getset、incr)以及如何处理超时情况(二)
  15. SVM支持向量机个人总结及理解
  16. Linux kermit配置及使用
  17. 实用的 PyYAML 使用技巧
  18. 淘宝运营 钻展基本了解 钻展投放方案 钻展投放注意的点
  19. NO2/*学习记录*/--模仿百度首页(纯HTML+css)
  20. subprocess 使用执行 cmd

热门文章

  1. 分布式数据库切分规则介绍
  2. Android PorterDuff.Mode
  3. hive怎样决定reducer个数
  4. vi/vim基本使用方法
  5. Oracle里default什么意思,ORACLE中默认值default的使用方法.doc
  6. 【SAP】相关性类型简介
  7. SAP Business One和SAP All-in-One
  8. SAP SM37后台作业结果显示为alv list怎么样可以显示alv grid形式呢?
  9. 用通俗易懂的大白话讲解Map/Reduce原理
  10. sap 实战 table