删除等值线图上的边缘线

2024-03-10

我用Matlab创建了一个极坐标并将其转换为笛卡尔坐标。

[th,r] = meshgrid((0:0.5:360)*pi/180,0:.02:1);
[X,Y] = pol2cart(th,r);

我获取该网格上的数据并生成contourf绘制它。

我的问题是我在轮廓图中得到一条中心线,我想将其删除,有人可以帮助我吗

谢谢


如果我稍微扩展一下你的例子来得到一些我可以绘制的东西,我确实会重现这个问题:

[th,r] = meshgrid((0:0.5:360)*pi/180,0:.02:1);
[X,Y] = pol2cart(th,r);
Z = sqrt( X.^2 + Y.^2 ) ;

isoLevel = 0:0.1:10 ;
[C ,hc] = contourf(X,Y,Z,isoLevel) ;

界面上的黑线是因为函数contourf create patch对象,并且这些对象倾向于“闭合”自身(它们将在其配置文件中定义的第一个点和最后一个点之间创建一条线)。

如果您没有完成超过 360 度的轮廓定义,则更容易观察到这一点。右图显示了相同的示例,但网格仅来自0:350并与LineStyle set to :.

正如您所看到的,很难控制 Matlab 如何实际渲染这个特定的配置文件限制。有一些方法可以控制特定的边缘patch对象,但在这种情况下,它将涉及检索每个补丁对象的句柄(在我的例子中为 10 个,但在更复杂的情况下更多),找到要控制的边缘并基本上重新定义补丁(每个补丁)。您最好自己从头开始绘制补丁。


幸运的是,有一个简单的方法可以解决这个问题:去掉所有的补丁边缘线......

但这样你可能会错过你的等值线!没问题,只需将它们绘制在补丁之上即可! 您将获得所有彩色补丁(无边框)和一组(iso)您可以完全控制的线路。

两种简单的方法让您无需线条即可进行修补(i)将阴影设置为shading flat,或 (ii) 指定'EdgeColor','none'在参数中contourf功能。

为了让等值线位于顶部,请使用姐妹contour功能。

所以使用相同的X,Y and Z数据比之前:

isoLevel = 0:0.1:10 ;
[C ,hc] = contourf(X,Y,Z,isoLevel,'EdgeColor','none') ;  %// set of patches without border
% shading flat %// use that if you didn't specify ('EdgeColor','none') above
hold on
[C2 ,hc2] = contour(X,Y,Z,isoLevel,'LineColor','k') ;    %// now get your isolines

将呈现:

存放手柄是个好主意hc2如果您想修改等值线属性(颜色、样式、厚度等...)。

此外,建议指定等值线水平。这样您就可以确保两者contour and contourf将使用同一组等值。如果没有这个,它可能也可以工作(因为底层数据集是相同的),但就我个人而言,我总是更喜欢明确的而不依赖于后台计算。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除等值线图上的边缘线 的相关文章

  • 朴素分类器 matlab

    在 matlab 中测试朴素分类器时 即使我在相同的样本数据上进行训练和测试 我也会得到不同的结果 我想知道我的代码是否正确 是否有人可以帮助解释这是为什么 dimensionality reduction columns 6 U S V
  • 在Matlab中将矩阵中的元素i,j设置为i*j

    我想生成一个矩阵 其中 i j 元素等于 i j 其中 i j e g 0 2 3 2 0 6 3 6 0 到目前为止 我已经发现我可以使用这个索引矩阵访问非对角线元素 idx 1 eye 3 但我还没有弄清楚如何将矩阵单元的索引合并到计算
  • MATLAB 图像锐化 - 使用(1-高斯低通滤波器)的高斯高通滤波器

    我试图通过设计高斯高通滤波器来锐化图像 我想利用高通滤波器相当于单位矩阵减去低通滤波器的事实来做到这一点 所以我执行了以下操作 image imread Question3 Data Cats jpg read image H 1 fspe
  • 如何在Matlab脚本中将泰勒级数系数存储到数组中

    这个问题是在 m 脚本的上下文中 我知道如何获取函数的泰勒级数 但我没有看到任何命令允许将级数的系数存储到数组中 sym2poly似乎不起作用 如何将系数存储到数组中 例如这个函数 syms x f 1 x 2 4 x 9 我们怎样才能得到
  • 与超类和子类构造函数接口

    我在 matlab 文档和之前有关使用 matlab 继承和类构造函数创建接口的问题中找不到帮助 为了使其整洁 放在一个包内 我可以将其压缩如下 而不是拖拽代码 一套 MyPkg有一个超类Super和一些子类Sub1 Sub2 我的大多数属
  • 使用 varargin (...) 时如何显示不同的函数用法?

    当您输入 Matlab 函数名称并打开大括号时 例如sum 在命令窗口中 将打开一个工具提示 显示此函数的所有可能用法 当我编写自己的接受函数时varargin 工具提示仅显示一个选项 而不是varargin puts e g myfunc
  • 将输出从符号数学 (sym) 转换为浮点型

    我的问题类似于这个问题 https stackoverflow com questions 11114101 how to convert mupad symbol i sqrt 1 to i in matlab 11114959 1111
  • 图像增强 - 从书写中清除给定图像

    我需要清理这张照片 删除 清理我 的字样并使其变亮 作为图像处理课程作业的一部分 我可能会使用 matlab 函数 ginput 来查找图像中的特定点 当然 在脚本中您应该对所需的坐标进行硬编码 您可以使用 conv2 fft2 ifft2
  • 如何建立数据流挖掘的滑动窗口模型?

    我们遇到的情况是 流 来自传感器的数据或服务器上的点击流数据 采用滑动窗口算法 我们必须将最后 例如 500 个数据样本存储在内存中 然后 这些样本用于创建直方图 聚合并捕获有关输入数据流中异常的信息 请告诉我如何制作这样的滑动窗 如果您询
  • 如何在 R 或 MATLAB 中为散点图创建阴影误差条“框”

    我想在 R 或 MATLAB 中创建一个简单的散点图 涉及两个变量 x 和 y 它们有与之相关的错误 epsilon x 和 epsilon y 然而 我不是添加误差线 而是希望在每个 x y 对周围创建一个 阴影框 其中框的高度范围从 y
  • 如何读取 10 位原始图像?其中包含 RGB-IR 数据

    我想知道如何从我的 10 位原始 它有 rgb ir 图像数据 数据中提取 RGB 图像 如何使用 Python 或 MATLAB 进行阅读 拍摄时的相机分辨率为 1280x720 室内照片图片下载 https drive google c
  • 将 3d 矩阵重塑为 2d 矩阵

    我有一个 3d 矩阵 n by m by t 在 MATLAB 中表示n by m一段时间内网格中的测量值 我想要一个二维矩阵 其中空间信息消失了 只有n m随着时间的推移测量t剩下 即 n m by t 我怎样才能做到这一点 你需要命令r
  • 在 C/C++ 中调用 MATLAB API

    我刚刚从某处听说 对于数值计算 MATLAB 确实提供了一些用户友好的 API 如果你在 C C 代码中调用这些 API 你可以显着加快计算速度 但我在MATLAB文档中没有找到这样的信息 例如http www mathworks com
  • 是否有一个函数可以检查矩阵是否对角占优(行占优)

    矩阵是对角占优 http en wikipedia org wiki Diagonally dominant matrix 按行 如果对角线处的值在绝对意义上大于该行中所有其他绝对值的总和 对于列也是如此 只是相反 matlab中有没有函数
  • 通过傅里叶空间填充进行插值

    我最近尝试在 matlab 上实现一个在傅立叶域中使用零填充的插值方法的简单示例 但我无法正常工作 我总是有一个小的频移 在傅里叶空间中几乎不可见 但它在时空上产生了巨大的误差 由于傅里叶空间中的零填充似乎是一种常见 且快速 的插值方法 因
  • 在 MATLAB 中创建共享库

    一位研究人员在 MATLAB 中创建了一个小型仿真 我们希望其他人也能使用它 我的计划是进行模拟 清理一些东西并将其变成一组函数 然后我打算将其编译成C库并使用SWIG https en wikipedia org wiki SWIG创建一
  • 非模态 questdlg.m 提示

    我的代码绘制了一个图 然后提示用户是否想使用不同的参数绘制另一个图 问题是 当 questdlg m 打开时 用户无法查看绘图的详细信息 这是代码 while strcmp Cont Yes 1 Some code modifying da
  • 如何加载具有可变文件名的 .mat 文件?

    select all mat files oar dir oar mat n oar name loop through files for l 1 length oar load pat oar l lt this is the mat
  • 在Matlab中选择图像上的像素时,索引指的是什么?

    当在Matlab中查看图像的单个像素时 该索引指的是什么 X Y 指的是像素的坐标 RGB 指的是颜色 但是关于索引是什么有什么想法吗 为了澄清一下 当我在 Matlab 中查看图形并使用数据光标选择一个点时 显示的三行是 X Y 指数 R
  • 归一化互相关的基础知识

    我正在尝试使用范数校正2 归一化互相关 http en wikipedia org wiki Cross correlation Normalized cross correlation 来自 MATLAB 用于计算发育中胚胎中移动形状的速

随机推荐

  • 使用 Datagridview C# 进行多线程处理

    这里我正在做一个检查用户名的过程 我创建了一个 datagridview 并从文本文件加载了数据 因此 datagridview 在前两列中包含用户的名字和姓氏 我需要做的是逐行读取这些值 并发现第一个和最后一个没有相同的名称 这些操作是在
  • 当你没有 Linq 时像 Linq 一样查询

    我目前正在开发一个项目 但它目前仅支持 net Framework 2 0 我喜欢linq 但由于框架版本的原因我无法使用它 我想要的并不是 ORM 方面的东西 而是 Linq 的 可查询性 这甚至是一个词吗 到目前为止最接近的是llblg
  • Laravel 无法连接到数据库

    我正在跟踪快速入门指南 http laravel com docs quick displaying data 并到达实际连接到数据库以获取用户表的部分 并收到以下错误 SQLSTATE 28000 1045 用户 root localho
  • a、&a 和 &a[0] 之间的类型区别是什么?

    include
  • 如何从 Dom4j Node.selectObject 或 Node.selectNodes 获取字符串列表

    希望你有美好的一天 Dom4j javadoc 表单Node selectObject String xpathExpression 说如下 返回的对象可以是一个或多个 Node 实例的列表 也可以是标量对象 例如String或 Numbe
  • TortoiseHg 更新后 Mercurial 无法工作

    我最近将 TortoiseHg 更新到 2 0 3 使用 Mercurial 1 8 2 更新后 Mercurial 不再通过命令行 Windows 7 x64 运行 但可以通过 TortoiseHg GUI 运行 尝试通过命令行使用任何
  • 如何从 Instagram API 获取历史数据

    我正在制作一个 Instagram 分析网络应用程序 我仔细阅读了所有 Instagram API 端点 但找不到任何方法来获取历史数据 即一段时间内的关注者 我所需要的只是一个类似日期的东西 附加到每个关注者对象上 不过 有一些 Inst
  • 如何控制rpmbuild的buildroot和安装目录

    我对 rpmbuild 中的一些目录感到困惑 1 buildroot 用于存储最终用户安装二进制包时应安装的文件 问题 如何控制这个目录 构建根是什么意思 cat 3 spec BuildRoot opt abc prep echo bui
  • 数字轴 setTickUnit 包含指定数字

    我使用 JFreeChart 显示正态分布 并将刻度数更改为标准差 但我也希望在刻度出现的中间始终存在 平均 值 交叉发布 所以标准差 2 平均值 1 3 1 1 3 5 标准差 5 平均值 15 0 5 10 15 20 25 30 JF
  • 递归 - 如何生成给定 n 和 k 的所有序列

    给定 n 和 k 我需要生成以下所有序列 n 5 k 2 0 1 2 0 1 3 0 1 4 1 2 3 1 2 4 2 3 4 另一个例子 n 5 k 3 0 1 2 3 0 1 2 4 0 1 3 4 0 2 3 4 1 2 3 4 我
  • 如何实现自动生成id的功能?

    我尝试创建一个函数来在 sql 表中生成 id 但我不知道如何设置选择表和列的参数 请帮助我 Public Function autoid ByVal col As String ByVal txt As TextBox ByVal tb
  • 使用具有作用域在函数内部的匿名类的模板

    假设我有以下片段 template
  • 如何在ListView中插入对象类型?

    我想在 ListView 中维护 ID 和对象类型 我正在尝试这样做 lstView Items Insert MyObject can t do this because it takes only Int and String 就我而言
  • 使用 Jelly Bean 的简单安全配对(蓝牙)与 NFC 配对

    截至 io2012 和JellyBean 文档 http www android com about jelly bean 现在有一种通过 NFC 配对蓝牙设备的方法 这听起来确实不错 但我找不到任何有关它的文档 我特别想知道这是否适用于不
  • Python:从图像中删除 Exif 信息

    为了减小网站中使用的图像大小 我将质量降低到 80 85 这在一定程度上大大减小了图像尺寸 为了在不影响质量的情况下进一步减小尺寸 我的朋友指出 来自相机的原始图像有很多称为 Exif 信息的元数据 由于网站中的图像不需要保留此 Exif
  • iOS Geofence CLCircularRegion 监控。 locationManager:didExitRegion 似乎没有按预期工作

    我目前正在尝试让我的应用程序使用以下方式监视特定区域CoreLocation然而我发现它似乎没有按预期工作 在我看来 它不能在每个位置设置较小的小半径 即 10m 的情况下工作 我还制作了一个小测试应用程序 它绘制了圆半径在地图上 这样我就
  • 包含文件存储在哪里 - Ubuntu Linux、GCC

    因此 当我们执行以下操作时 include
  • 如何检查 numpy 数组是否已经存在?

    我想知道数组是否已经在代码中的某个位置定义过 就像是a exist 如果存在则给出 True 如果不存在则给出 False I tried a size 但是如果该数组尚不存在 它会给出一条错误消息 这是我想避免的 如果您想知道的话 要求这
  • 如何更改ionic 2本地推送通知图标?

    我使用创建了一个混合应用程序ionic2因为我正在使用科尔多瓦本地推送通知 一切都工作正常 唯一的问题是无法更改图标 在下面我将我的代码粘贴到这里 LocalNotifications schedule id 1 title Test Ti
  • 删除等值线图上的边缘线

    我用Matlab创建了一个极坐标并将其转换为笛卡尔坐标 th r meshgrid 0 0 5 360 pi 180 0 02 1 X Y pol2cart th r 我获取该网格上的数据并生成contourf绘制它 我的问题是我在轮廓图中