matlab使用教程(78)—控制颜色图范围

news2024/11/17 4:27:15

1.控制颜色图范围

        对于您创建的许多类型的可视化图形,MATLAB® 默认将完整的数据范围映射到颜色图上。数据中的最小值映射到颜色图中的第一行,最大值映射到颜色图中的最后一行。所有中间值线性映射到颜色图的中间行。

        这种默认映射适用于大部分情况,但您也可以对选定的任意范围进行映射,即便您选择的范围不同于数据的范围也可以。通过选择不同的映射范围可以执行以下操作:

  • 查看有哪些数据刚好处于指定的范围边界或超出指定的范围。

  • 查看您的数据落在指定范围的哪个位置。

        假设曲面 Z = X + Y,其中 -10≤ x ≤10,-10≤ y ≤10。

[X,Y] = meshgrid(-10:10);
Z = X + Y;
s = surf(X,Y,Z);
xlabel('X');
ylabel('Y');
zlabel('Z = C');
colorbar

Surface plot of a 2-D plane in 3-D space using the default colormap. The colors vary with variations in Z.


        曲面绘图数据与颜色图的关系描述了控制此演示中颜色的属性。实质上,Surface 对象的 CData 属性包含一个数组 C,该数组将曲面上的每个网格点与颜色图中的一种颜色建立关联。默认情况下,C 等于 Z,其中 Z 是在网格点处包含 z = f(x,y) 值的数组。因此,这些颜色随 Z 的变化而变化。

        映射范围由 Axes 对象的 CLim 属性控制。此属性包含 [cmin cmax] 形式的二元素向量。cmin 的默认值等于 C 的最小值,cmax 的默认值等于 C 的最大值。在本例中,CLim 为 [-20 20],因为 C 的范围反映 Z 的范围。

Relationship between the values in matrix C, the values -20 and 20 in the CLim property, and the rows in the colormap

        将 CLim 更改为 [0 20] 会将 0 处以及其下的所有值统一映射为颜色图中的第一种颜色。

Relationship between the values in matrix C, the values 0 and 20 in the CLim property, and the rows in the colormap

        clim函数将 CLim 属性更改为 [0 20]。注意,曲面的下半部分映射到颜色图中的第一种颜色(深蓝色)。之所以进行这种裁剪,是因为 C(等于 Z)在这些点处的值小于或等于 0。

clim([0 20])

Surface plot of a 2-D plane in 3-D space using the default colormap. The colors vary with variations in Z, and half of the plane is colored dark blue.

        在 R2022a 之前: 使用 caxis([0 20]) 更改颜色图范围。

您也可以拓宽映射范围,以查看数据在范围中所处的位置。例如,将范围更改为 [-60 20] 将得到仅使用一半颜色的曲面。颜色图的下半部分对应于 C 范围之外的值,因此曲面上不呈现这些颜色。

clim([-60 20])

Surface plot of a 2-D plane in 3-D space using the default colormap. The colors vary with variations in Z. This plane uses a subset of colors from the colormap.

        在 R2022a 之前: 使用 caxis([-60 20]) 更改颜色图范围。

        注意

        您可以为曲面绘图、补片、图像或任何使用颜色图的图形对象设置 CLim 属性。但是,此属性仅影响 CDataMapping 属性设置为 'scaled' 的图形对象。如果 CDataMapping 属性设置为 'direct',则 C 索引的所有值将直接映射到颜色图,而不会进行任何缩放。C 的任何小于 1 的值将裁剪映射至颜色图中的第一种颜色。C 的任何大于颜色图长度的值则裁剪映射至颜色图中的最后一种颜色。

2.颜色图和真彩色之间的差异

        曲面、补片和图像等许多图形对象支持两种不同的指定颜色的方法:颜色图(使用索引颜色)和真彩色。每种方法涉及不同的工作流,对视觉表示有不同的影响。

2.1工作流差异

        颜色图是一个 m×3 数组,其中每一行指定一个 RGB 三元组。要在图形表示中使用颜色图,应为图形中的每个位置分配一个索引。每个索引对应颜色图中的一行,用以在图形中的指定位置显示一种颜色。相比之下,使用真彩色则是在图形中的每个位置指定一个 RGB 三元组。

        确定使用何种方法时要考虑的一些要点如下。

  • 真彩色更为直接。如果您想为图形中的特定位置分配具体的红色、绿色、蓝色值,使用真彩色通常更为容易。

  • 要在调色板区域中进行更改,则使用颜色图更为容易。例如,如果您想加亮从蓝色到绿色的渐变,则在颜色图中编辑这些行比在图形中的各个位置编辑颜色更为容易。

  • 您的数据格式可能更适合其中一个工作流。例如,许多 GIF 压缩图像使用索引颜色进行存储。

        这两种标记颜色的方法都是使用颜色数组 C 来指定颜色信息。C 的形状取决于图形对象的类型以及您选取的颜色标记方法。下表归纳了这些差异。

图形对象的类型包含颜色数组 C 的属性索引颜色 C 的形状真彩色 C 的形状
SurfaceCDataC 为 m×n 数组,其大小与 z 坐标数组相同。C(i,j) 处的值指定 Z(i,j) 的颜色图索引。C 为 m×n×3 数组,其中 C(:,:,i) 的大小与 z 坐标数组相同。

C(i,j,1) 指定 Z(i,j) 的红色分量。

C(i,j,2) 指定 Z(i,j) 的绿色分量。

C(i,j,3) 指定 Z(i,j) 的蓝色分量。
ImageCDataC 是 m×n 图像的一个 m×n 数组。C(i,j) 处的值指定像素 (i,j) 的颜色图索引。C 是 m×n 图像的一个 m×n×3 数组。

C(i,j,1) 指定像素 (i,j) 的红色分量。

C(i,j,2) 指定像素 (i,j) 的绿色分量。

C(i,j,3) 指定像素 (i,j) 的蓝色分量。
Patch (x, y, z)CData在标记补片面的颜色时,C 是 m 个补片面的一个 1×m 数组。C(i) 指定面 i 的颜色图索引。

在标记补片顶点的颜色时,C 是一个 m×n 数组,其中 m 为每个面的顶点数,n 为面数。C(i,j) 指定面 i 的顶点 j 的颜色图索引。
在标记补片面的颜色时,C 是 m 个补片面的一个 m×3 数组。C(i,:) 指定面 i 的红色、绿色和蓝色值。

在标记补片顶点的颜色时,C 是一个 n×3 数组,其中 n 为顶点总数。C(i,:) 指定顶点 i 的红色、绿色和蓝色值。
Patch(面-顶点数据)FaceVertexCData在标记补片面的颜色时,C 是 m 个补片面的 1×m 数组。C(i) 指定面 i 的颜色图索引。

在标记补片顶点的颜色时,C 为 1×n 数组,其中 n 为顶点总数。C(i) 指定顶点 i 的颜色图索引。
在标记补片面的颜色时,C 是 m 个补片面的一个 m×3 数组。C(i,:) 指定面 i 的红色、绿色和蓝色值。

在标记补片顶点的颜色时,C 是一个 n×3 数组,其中 n 为顶点总数。C(i,:) 指定顶点 i 的红色、绿色和蓝色值。

2.2视觉表示的差异

        颜色图提供由 m 种颜色组成的调色板,其中 m 为颜色图的长度。相比之下,真彩色则提供涵盖 256×256×256 ≈ 168 万种颜色的调色板。

        在确定调色板的大小时应考虑以下因素:

  • 用纯色填充大块区域时,最经济的方法是使用较小的调色板。它们在可视化曲面等高线时也很有用。

  • 较大的调色板显示细微过渡和平滑颜色梯度的效果更好。

        通过跨补片面的顶点进行颜色插值能够更明显地看出索引颜色和真彩色之间的差异。下面两个补片说明了一种极端情况。左侧的补片使用了小颜色图,而右侧的补片使用了真彩色。

Two triangular patches with interpolated color. One patch uses a 16-color colormap and the other patch uses truecolor. The transitions between colors are smoother in the patch that uses truecolor.

        如果您担心颜色图的调色板有限,可以向调色板中添加更多颜色。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1698643.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全从入门到精通(特别篇I):应急响应之不同平台后门排查思路

Windows-后门-常规&权限维持&内存马 Linux-后门-常规&权限维持&Rootkit&内存马 Windows实验 1、常规MSF后门-分析检测 2、权限维持后门-分析检测 3、Web程序内存马-分析检测 常见工具集合: https://mp.weixin.qq.com/s/L3Lv06bFdUX_ZE4rS69aDg 常规…

【知识拓展】LocalTunnel-高性价比的内网穿透工具(2)

前言 上一篇通过ngrok进行内网穿透,有几个问题: ①需要注册,而且注册需要科学上网,相对麻烦 ②安装配置相对麻烦,authtoekn有限制 上述相对,指的是在非生产环境中做一个简单内网穿透,相对于…

京东应届生公司内网说了一句‘什么时候被pdd收购‘,结果惨遭辞退

京东应届生公司内网说了一句’什么时候被pdd收购’,结果惨遭公司开除 这个事最近在圈子讨论比较多 前二天,有一个上海交大毕业的应届生,在京东实习了9个月,好不容易转正12天后,只因在内网说了一句话,就被…

为什么本科毕业后我坚定地选择了就业而不是考研?

大家好,我是小布丁。今天来聊聊我为什么本科毕业后选择了就业而不是考研。 在整个大学期间,我被亲戚拷问最多的问题就是:准备考研吗?相信很多大学生都遇到过这种情况吧。 如果你说准备还好,亲戚大概率就不会问下去&a…

wetool企业版使用教程及下载方式 微兔该如何使用 wetool还能用吗 wetool扳手工具wetool操作方法难吗 wetool有哪些功能

今天给大家推荐一款我们目前在使用的电脑群发工具掘金小蜜,不仅可以无限多开,方便你同时管理多个账号,群发功能更是十分强大,轻松释放你的双手。 掘金小蜜(只支持Win7及以上操作系统,没有推Mac版和手机客户…

蜗牛星际无法用ventoy安装FreeBSD14.1

ventoy 是一个非常棒的开源工具,可以制作usb启动盘,而且可以制作多系统启动盘,只要把iso文件放到ventoy盘的根目录就可以了。 一台蜗牛星际的老机器,把mini ssd盘从16G 升级到32G,用ventoy安装FreeBSD的时候失败&…

【题目】2023年全国职业院校技能大赛 GZ073 网络系统管理赛项赛题第4套B模块

2023年全国职业院校技能大赛 GZ073网络系统管理赛项 赛题第4套 模块B:服务部署 Windows初始化环境 **(一)默认账号及默认密码** ----------------------------Username: AdministratorPassword: ChinaSkill23!Username: demoPassword: Chi…

【深度学习基础】NumPy数组库的使用

目录 写在开头 一、数组的类型与维度 数组的类型 数组的维度 二、数组的创建 递增数组 同值数组 随机数数组 三、数组的索引 访问/修改单个元素 花式索引 数组的切片 四、数组的变形 数组的转置 数组的翻转 数组的形状改变 数组的拼接 五、数组的运算 数…

心电信号处理算法(包括基线漂移消除技术,高通、低通和陷波滤波,等值线校正和QRS等波群标记等,MATLAB代码)

由于心电信号是心脏活动产生的电位差变化并在人体皮肤表面采集得到的微弱信号,频率大致为0.05Hz~100Hz,波形幅值在10μV~5mV内。与其他生理信号不同之处是,心电信号的频率较低且波形幅值小,在采集时容易被各种噪声干扰。心电信号由…

HTML橙色爱心

目录 写在前面 准备开始 完整代码 运行结果 系列文章 写在后面 写在前面 本期小编给大家分享一颗热烈且浪漫的爱心,快来看看吧! 准备开始 在开始之前,我们需要先简单的了解一下这颗爱心的原理哦~ 本期将用html实现这颗跳动的爱心&a…

5.26机器人基础-空间描述和变换-总结

非目录 方便我找 重点 逆解 位姿矩阵的几何意义 实际坐标需要除以比例因子才能得到 比例因子的好处:在计算机的储存更加简单方便,例如x,y,x原先很大时,等比例改变 位姿坐标的齐次变换:左乘齐次坐标 从端点到末端&#xff0c…

rtthread 堆空间申请

#define HEAP_BEGIN (&Image$$RW_IRAM1$$ZI$$Limit) //定义堆开始的地址 程序仿真查看 begin_align rw_size; 堆开始地址 最大栈地址 堆的结束地址 ram1最大地址,128kbytes 处。 上述就是rtthread 申请的堆空间大小。

民国漫画杂志《时代漫画》第25期.PDF

时代漫画25.PDF: https://url03.ctfile.com/f/1779803-1248635084-fd4794?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

【数据结构(邓俊辉)学习笔记】图01——图的表示与实现

文章目录 1. 概述1.1 邻接 关联1.2 无向 有向1.3 路径 环路 2. 邻接矩阵2.1 接口2.2 邻接矩阵 关联矩阵2.3 实例2.4 顶点和边2.5 邻接矩阵2.6 顶点静态操作2.7 边操作2.7 顶点动态操作2.8 综合评价 1. 概述 1.1 邻接 关联 相对于此前的线性以及半线性结构,图…

【Python】 XGBoost模型的使用案例及原理解析

原谅把你带走的雨天 在渐渐模糊的窗前 每个人最后都要说再见 原谅被你带走的永远 微笑着容易过一天 也许是我已经 老了一点 那些日子你会不会舍不得 思念就像关不紧的门 空气里有幸福的灰尘 否则为何闭上眼睛的时候 又全都想起了 谁都别说 让我一个人躲一躲 你的承诺 我竟然没怀…

内存函数详解,包含部分字符串函数

目录 一,memcpy内存函数的介绍 二memmove函数的介绍 三,memset的函数使用 四,memcmp的介绍 五,内存函数的模拟实现,以及一个字符串函数strstr的模拟实现 5.1memcpy函数的实现 5.2memmove的模拟实现 5.3memcmp的模拟…

19 QinQ技术(Vlan两层封装)

1 什么是QinQ? QinQ(802.1Q-in-802.1Q),也叫做VLAN Stacking或Double VLAN,由IEEE 802.1ad标准定义,**是一项扩展VLAN空间的技术,**通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩…

Stream流常用操作

一、中间操作 中间操作是返回一个新的流,并在返回的流中包含所有之前的操作结果。它们总是延迟计算,这意味着它们只会在终止操作时执行,这样可以最大限度地优化资源使用。 1. filter(过滤) filter()方法接受一个谓词(一个返回boo…

Vue.js条件渲染与列表渲染指南

title: Vue.js条件渲染与列表渲染指南 date: 2024/5/26 20:11:49 updated: 2024/5/26 20:11:49 categories: 前端开发 tags: VueJS前端开发数据绑定列表渲染状态管理路由配置性能优化 第1章:Vue.js基础与环境设置 1.1 Vue.js简介 Vue.js (读音:/vju…

每日一问-如何设置VS Code 中 Markdown粘贴图片的位置

VS Code内的markdown编辑器应该算是比较好用的,但是有一个问题一直困扰着我,就是在编辑markdown文件时,粘贴图片的位置问题。默认情况下,VS Code会将粘贴的图片放在markdown文件的同级目录下,这样会导致markdown文件的…