在 MATLAB 中控制颜色条比例

2023-12-26

问题:如何在自定义 MATLAB 颜色条中指定颜色过渡?
具体来说,我想让黄色(见下文)覆盖颜色条的更多区域(可能是 [19.5–21.5] 或接近的区域)。

Using 这个答案 https://stackoverflow.com/questions/24488378/how-to-map-a-specific-value-into-rgb-color-code-in-matlab/24488819#24488819,我能够在 MATLAB 中创建自定义颜色条。我试图理解这个答案 https://stackoverflow.com/questions/45571444/matlab-scale-colorbar-of-image因为它可能是相关的。

我尝试过从这个答案 https://stackoverflow.com/questions/33650595/how-do-i-change-matlab-colorbar-scaling并审查了这个答案 https://stackoverflow.com/questions/45285114/matlab-colorbar-same-colors-scaled-values & this one https://stackoverflow.com/questions/53763218/colormap-three-colors并且无法实现我的目标。

很明显我错过了一些东西。

下面是完整的代表性示例

% MATLAB 2017a
% Data
X = [22.6 22.8 22.6 20.45 22.3 18.15 19.95 20.8].';
Y = [84 89 63 81 68 83 77 52].';
Z = [23.0 22.695 21.1450 21.5 22.09 20.5 22.075 20.915].';

% Create custom colormap  
% Reference: https://stackoverflow.com/questions/24488378/how-to-map-a-specific-value-into-rgb-color-code-in-matlab/24488819#24488819
col3 = [0 1 0]; %G
col2 = [1 1 0]; %Y
col1 = [1 0 0]; %R
n1 = 20; n2 = 20;
cmap=[linspace(col1(1),col2(1),n1);linspace(col1(2),col2(2),n1);linspace(col1(3),col2(3),n1)];
cmap(:,end+1:end+n2)=[linspace(col2(1),col3(1),n2);linspace(col2(2),col3(2),n2);linspace(col2(3),col3(3),n2)];
cmap = cmap.';

% Plot
colormap(cmap), hold on, box on
p = scatter(X,Y,[],Z,'filled','DisplayName','Data3');
cb = colorbar;
cb.Limits = [18 23];
cb.Ticks = [18:1:23];

% Cosmetics
p.MarkerEdgeColor = 'k';
xlabel('X')
ylabel('Y')
cb.Label.String = 'Z';

我想你所缺少的只是一个电话caxis https://www.mathworks.com/help/matlab/ref/caxis.html指定将颜色范围映射到的最小值和最大值:

caxis([18 23]);

请注意以下行...

cb.Limits = [18 23];

...仅改变刻度线限制 https://www.mathworks.com/help/matlab/ref/matlab.graphics.illustration.colorbar-properties.html#bt6akfm-Limits 显示的在颜色栏上,但不会更改有关数据如何映射到颜色范围的任何内容。这caxisfunction 是您控制它的方式(在上述情况下,将 18 的值映射到一端,将 23 的值映射到另一端)。默认情况下,您的代码将最小值和最大值映射为Z颜色范围(分别为 20.5 和 23)。然后,当您将颜色条上的刻度限制设置为更大的范围时,它只是用颜色图中的最后一种颜色(在本例中为红色)填充它。这就是为什么你会看到这么多。

Bonus

只是因为您可能感兴趣,您还可以通过以下方式使用插值interp1 https://www.mathworks.com/help/matlab/ref/interp1.html函数可以轻松生成颜色图,如下所示:

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

在 MATLAB 中控制颜色条比例 的相关文章

  • 在另一列中添加具有特定条件的一列,如 excel 的 sumif

    我有一个像这样的矩阵 A 1 2 2 3 3 4 4 5 5 6 6 8 7 9 8 5 9 4 现在我想添加第二列 条件是如果 limit 0 interval 3 且 limit limit interval 或者换句话说 当第 1 列
  • Python 函数句柄 ala Matlab

    在 MATLAB 中可以创建function handles http www mathworks co uk help techdoc ref function handle html与类似的东西 myfun arglist body 这
  • 在 matlab 中求 3d 峰的体积

    现在我有一个带有峰值的 3D 散点图 我需要找到其体积 我的数据来自图像 因此 x 和 y 值表示 xy 平面上的像素位置 z 值是每个像素的像素值 这是我的散点图 scatter3 x y z 20 z filled 我试图找到数据峰值的
  • 在 R 中绘制 3D 数据

    我有一个 3D 数据集 data data frame x rep c 0 1 0 2 0 3 0 4 0 5 each 5 y rep c 1 2 3 4 5 5 data z runif 25 min data x data y 0 1
  • Simulink 仿真引擎如何工作?

    我想了解 Simulink 仿真引擎的工作原理 它是否使用离散事件模拟机制 那么如何处理连续时间 它是否依赖于基于静态循环的代码生成 或者 在第一个周期之前 它会计算出块的执行顺序 从不需要任何其他块输入的块开始 每个周期 它都会根据输入和
  • 为什么旋转 3D 点云后顶点法线会翻转?

    我有两个人脸 3D 点云样本 蓝色点云表示目标面 红色点云表示模板 下图显示目标面和模板面在不同方向上对齐 目标面大致沿 x 轴 模板面大致沿 y 轴 Figure 1 The region around the nose is displ
  • python 中带有滑块的散点图

    嘿 我正在尝试使用滑块创建一个散点图 当我滑动时该滑块会更新该图 这是我到目前为止的代码 它绘制了一个散点图和一个滑块 但当我移动它时 什么也没有发生 我怀疑问题出在 set ydata有点 但我似乎无法在互联网上找到其他方法 import
  • 在 MATLAB 中重命名文件

    我正在尝试以编程方式重命名工作目录中的文件a temp txt to b hello txt 您建议如何这样做 MATLAB中有一个简单的文件重命名函数吗 我认为您正在寻找 MOVEFILE
  • 什么是 ANN 中的纪元以及它如何转换为 MATLAB 中的代码?

    我试图理解 并可视化 训练人工神经网络的时代到底是什么 我们有一个包含约 7000 个产品的训练集 其中有 10 个特征 输入 这些产品必须根据这 10 个输入分为 7 个类别 我们的 ANN 有 10 个输入 这些输入进入由 10 个神经
  • 两个向量之间的欧氏距离(单行矩阵)

    我有两个向量 单行矩阵 假设我们已经知道长度len A x1 x2 x3 x4 x5 B y1 y2 y3 y4 y5 计算它们之间的欧几里德距离最快的方法是什么 我的第一次尝试是 diff A B sum 0 for column 1 l
  • MATLAB:具有复数的 printmat

    我想使用 MATLAB 的printmat显示带有标签的矩阵 但这不适用于复数 N 5 x rand N 1 y rand N 1 z x 1i y printmat x y z fftdemo N 1 2 3 4 5 x y x iy O
  • Altair 中的世界地图 + 滑块 (Python)

    我想使用 Python 中的 Altair 库构建一个带有世界地图的交互式图表 其中包含每个国家 地区的 COVID 19 确诊病例和日期滑块 数据格式 country region date confirmed cases Afghani
  • 拟合泊松直方图

    I am trying to fit a curve over the histogram of a Poisson distribution that looks like this 我修改了拟合函数 使其类似于泊松分布 其中参数 t 作
  • 在 Matlab 中将 datenum 转换为 datetime 的最快方法

    我在 Matlab 中将 datenum 转换为 datetime 时遇到问题 Given dnum floor now floor now 1 我尝试了以下方法 datenum dnum 但这没有用 我发现有效的方法是 datetime
  • python 中 matlibplot 中散点图的缩放轴

    我正在使用 matlibplot 进行数据可视化 我的绘图共有 6502 个数据值 运行良好 但值接近且密集 例如 我的 y 轴值范围在 3 到 10 之间 我需要清楚地获取它们之间的每个点 即像 9 2 和 9 8 这样的值至少要以 1
  • 我需要转义该 MATLAB 字符串中的字符吗?

    我想在 MATLAB 中调用以下 bash 命令 grep Up to test linux vision1 1 log awk print 7 I use system 在MATLAB中 但结果有错误 gt gt status strin
  • matplotlib 中无效的 rgba arg“#”

    我无法弄清楚在尝试在 matplotlib 中创建散点图时如何使用颜色 我正在尝试绘制具有不同颜色点的多个散点图来显示集群 colors 12efff eee111 eee00f e00fff 123456 abc222 000000 12
  • matlab中类库的全局变量

    我有一些matlab声明的类 我如何声明所有类中都可见的常量 例如 这些常量可以是在所有类的方法中使用的物理常量 首先想到的是使用全局变量 还有更好的办法吗 最好在单独的文件中声明这些常量 包含常量的类是执行此操作的一种很好的干净方法 请参
  • 如何更改Plotyy第二轴的颜色和字体大小?

    我使用 MATLAB 的plotyy 函数绘制了两条曲线 AX H1 H2 plotyy voltage span amplitude voltage span Ca SR The problem is that I cannot chan
  • 有效地绘制大时间序列(matplotlib)

    我正在尝试使用 matplotlib 在同一轴上绘制三个时间序列 每个时间序列有 10 6 个数据点 虽然生成图形没有问题 但 PDF 输出很大 在查看器中打开速度非常慢 除了以栅格化格式工作或仅绘制时间序列的子集之外 还有其他方法可以获得

随机推荐

  • Authorization_IdentityNotFound 错误 MS Graph API

    我们的应用程序将执行简单的 User ReadBasic All 功能 据我了解 这些功能不需要管理员权限 使用此处记录的流程 https graph microsoft io en us docs authorization app on
  • 如何通过URL中的ID获取单个资源?

    我有一个网址 例如 http example com page page id http example com page page id 我想知道如何获得page id路由中 url 的一部分 我希望我可以设计一些方法 例如 route
  • 无法弄清楚在 django 开发环境中提供静态图像

    我读了文章 http docs djangoproject com en dev howto static files 以及该主题上的其他人 但仍然无法弄清楚如何显示图像 除非将指向 Web 服务上现有文件的链接硬编码到 html 模板中
  • 在 NSTextView 中替换 NSTextStorage 的正确方法?

    我正在制作一些文本查看器应用程序 目前我需要非常频繁和精确的线路处理能力 所以我想子类化NSTextStorage班级 但我找不到任何方法来设置新的文本存储NSTextView 我能找到的唯一方法是 NSLayoutManager repl
  • 在 libc++ 中使用 double 调用 std::from_chars 时出现编译错误

    我有一个小代码如下 int main double d const char str 26 50 std from chars str str strlen str d std cout lt lt d 此代码在 libstdc 中按预期工
  • 在 Gtk 3 中向 ToolButton 添加图标

    有没有办法将图标添加到 Gtk ToolButton Gtk3 使用 PyGi for Python 以添加到 GTK 3 工具栏 下面是我的代码 self addfile Gtk ToolButton self addfile set l
  • rspec 模拟:验证“应该”方法中的期望?

    我正在尝试使用 rspec 的模拟来设置我可以在 应该 方法中验证的期望 但我不知道如何做到这一点 当我在模拟上调用 should receive 方法时 它before all 方法退出后立即验证预期的调用 这是一个小例子 describ
  • App Engine 标准第二代运行时的 Memcache 替代品

    谷歌已经发布了其通用版本App Engine 标准的第二代运行时 https cloud google com blog products serverless announcing cloud run the newest member
  • R- 找到值的唯一排列

    我希望创建包含两个不同值的向量的所有可能排列 其中我控制每个值的比例 例如 如果我有一个长度为 3 的向量 并且我想要包含单个 1 的所有可能组合 则我所需的输出是一个如下所示的列表 list 1 lt list c 1 0 0 c 0 1
  • 插值到特定时间

    假设我有这个代码 import numpy as np import time from datetime import datetime class Measurements def init self time var value se
  • 这个函数是怎么计算的呢?

    我一直在研究 CodeWars katas 并且发现了有人提出的一个非常酷的解决方案 我的问题是我不明白它是如何工作的 我了解其中的一些内容 就像它通常在做什么 但不了解细节 它自己回来了吗 它是如何进行计算的 有人可以向我解释一下这一点
  • Dagger:注入@Named 字符串?

    EDIT2023 06 28 除非您有充分的理由不这样做 否则只需使用 Spring Boot 作为您的平台 并使用它的自动布线以及所有其他免费功能 EDIT2018 02 08 演示如何执行此操作的示例项目位于https github c
  • 不可读的 Pom 文件 - Maven

    我一直在构建一个没有任何问题的项目 但突然遇到了这个错误 我尝试重新制作工作区 但现在每次都会遇到相同的错误 我正在尝试在 eclipse che 中使用 Maven 简单地构建和运行一个项目 Build command gt mvn cl
  • 在 Web API 中保存图像时无法解决“GDI+ 中发生一般错误”的问题

    我已经用谷歌搜索并搜索了这个原因的解决方案 但是 我无法找到这个问题的解决方案 我使用了从谷歌参考文献中获得的相同代码 下面是我的代码 public HttpResponseMessage Save ScreenCaptureDetails
  • 如何让下拉菜单在单击而不是悬停时打开/关闭?

    我对 javascript 和 ajax jquery 非常陌生 并且一直在努力尝试让脚本在单击而不是悬停时打开和关闭下拉菜单 有问题的菜单位于http www gamefriction com Coded http www gamefri
  • Go time.Tick 与 time.NewTicker

    我是 Go 新手 最近开始学习 我遇到过股票行情指示器和计时器 在代码中 我们可以通过两种方式创建代码 throttler time Tick time Millisecond 50 lt throttler throttler time
  • Hibernate JPA一对一保存子类实体

    我有一个一对一的关系 使用PrimaryKeyJoinColumn在父端注释 现在我想单独保存子实体 例如 我有Employee and EmpInfo作为子实体 我需要保存EmpInfo 当然是在将父级的 id 属性设置为它之后 但是 当
  • 枚举内存使用情况

    我想知道以下哪个占用更多内存 struct Constants var age 10 or enum Constants case age 10 我也想知道之间的区别enum and define在内存存储方面 有人可以帮我吗 TLDR 您
  • Meteor Template.onRendered 或 Template.rendered 用于使用 jquery 库?

    我想将选择 一个jquery库 与meteor一起使用 我只需要使用以下代码 ship chosen 我尝试使用 onRendered 但如果我想让它工作 我需要等待 Template createTradeForm onRendered
  • 在 MATLAB 中控制颜色条比例

    问题 如何在自定义 MATLAB 颜色条中指定颜色过渡 具体来说 我想让黄色 见下文 覆盖颜色条的更多区域 可能是 19 5 21 5 或接近的区域 Using 这个答案 https stackoverflow com questions