当前位置: 首页 > article >正文

stipple函数的坑......matlab绘制显著点

序:

臭matlab。。。为了画这个显著点我花了一天找数据的问题。。。结果发现只需调下参数就行💩

正文:

1、无投影的二维图像上绘制点

如果在普通二维图像上绘制,直接输入二维坐标,和为要画的点的矩阵。如下例。

注意:mask是一个0/1矩阵,要画的位置为1(显著区域);区域为0。

figure();
[X,Y,Z] = peaks(1000);
pcolor(X,Y,Z);
shading interp;hold on;
mask = Z>2.5;
stipple(X,Y,mask);

2、有投影的地图上绘制显著点

当在投影地图上使用 stipple 绘制显著点时

首先需要将经纬度坐标转换为投影坐标!!!很重要!!

可以使用m_map中的m_ll2xy 函数进行经纬度到投影坐标的转换。

[lx,ly] = m_ll2xy(lon_era5,lat_era5);
stipple(lx,ly,mask,'color','black','marker',".", 'Markersize',3);

lon_era5lat_era5 是经纬度数据,lxly 是转换后的投影坐标。

其次,要通过两个函数来控制点的密集!!!很重要!!

在某些情况下,使用默认设置时,绘制的显著点可能会非常少,甚至只有几个点。这通常是因为 stipple 函数的默认参数设置不适合你的数据分布,导致某些显著点无法显示。可以试一下调节以下参数。

  1. 'density':控制点的密度。增大该值可以使更多的点被绘制。
  2. 'resize':控制点的大小和图像的缩放比例。将其设置为 true 可以自动调整图像的显示。
    [lx,ly] = m_ll2xy(lon_era5,lat_era5);
    stipple(lx,ly,mask,'density',350,'resize',true, ...
        'color','black','marker',".", 'Markersize',3);

参数总结:

  • lxly 是已转换的投影坐标。
  • mask 是用来筛选显著点的逻辑数组。
  • color设置点的颜色.
  • marker使用点符号绘制。
  • Markersize设置点的大小。
  • density控制点的密度
  • resize控制点的大小和图像比例

小结:

使用 stipple 函数时,尤其是在投影地图上绘制显著点时,务必确保将经纬度数据转换为正确的投影坐标

如果绘制出的显著点数量过少,可以通过调整 densityresize 等参数来实现更好的绘制效果。


http://www.kler.cn/a/463034.html

相关文章:

  • 【手搓一个脚本语言】六、用C语言抽象语法树AST计算表达式的值
  • 机加工行业制造执行MES系统-打造智能MES系统解决方案
  • 使用 Navicat 官方免费版来实现从 DAT 文件填充 MySQL 8 表
  • css3实现文字下滑波浪线
  • 不使用 el-popover 组件手动创建一个 div 作为 Popover
  • Serverless架构的搭建
  • FastExcel:超越EasyExcel的新一代Excel处理工具
  • Docker 安装与常用命令
  • 【C++笔记】反向迭代器和计算器的思路分析及其实现
  • cesium 小知识:PostProcessStage 和 PostProcessStageLibrary详解对比
  • 电脑找不到mfc110.dll文件要如何解决?Windows缺失mfc110.dll文件快速解决方法
  • 鸿蒙应用开发启航计划
  • 【算法题解】——自然数拆分问题
  • 7-11 第 k 大的整数**
  • 司南OpenCompass评测工具正式加入PyTorch Ecosystem
  • Linux的源码在Windows下解压时提示文件名字相同(重名)的原因及解决办法
  • 八、Vue 样式绑定
  • 安卓触摸事件的传递
  • 电脑有杂音滋滋滋响怎么处理?电脑有杂音解决指南
  • 【信息系统项目管理师】第14章:项目沟通管理过程详解