如何让自己画出的数值对应不同的颜色呢?换话句话说,如何用不同的颜色表示不同的数值呢?
就是让数值的范围对应颜色的范围。
matlab colormap

##标准色
hsv 色彩饱和值(以红色开始束)
hot 从黑到红到黄到白
cool 青蓝和洋红的色度
pink 粉红的彩色度
gray 线性灰度
bone 带一点蓝色的灰度
jet hsv 的一种变形(以蓝色开始和结束)
copper 线性铜色度
prim 三棱镜。交替为红色橘黄色黄色绿色和天蓝色
flag 交替为红色、白色、蓝色和黑色

下面的例子是让正弦函数的不同的值对应不同的颜色,可用利用不同的标准颜色映射。
源码下载地址: colormap颜色对应数值

% colormap_plot 
% author: taiping.z(email:taiping.z@outlook.com)
% date: Web Apr 26 2017
% computational neuroscience lab at SIA
% colormap_plot 
clear all;
close all;
max_color_value = 10;
% jet_color = colormap(hsv(max_color_value));
% jet_color = colormap(cool(max_color_value));
% jet_color = colormap(hot(max_color_value));
% jet_color = colormap(pink(max_color_value));
% jet_color = colormap(gray(max_color_value));
% jet_color = colormap(pink(max_color_value));
% jet_color = colormap(bone(max_color_value));
jet_color = colormap(jet(max_color_value));
% jet_color = colormap(copper(max_color_value));
% jet_color = colormap(prim(max_color_value));
% jet_color = colormap(flag(max_color_value));
x = linspace(0,6*pi,1000);
y = sin(x);
color_index = ceil(y*5 + 5);
for i = 1:1:length(y),
    selected_color = jet_color(color_index(i),:);
    plot(x(i), y(i), 'o','color',selected_color);
    hold on;

标准色jet的分布结果
colormap

Reference:

  1. https://au.mathworks.com/help/matlab/ref/colormap.html
matlab中,可以定义不同的函数数值,并且根据函数的数值形式,得到相关的函数值 根据函数的大小,逐步显示不同的颜色,其中可以根据循环for来定义,得到有关的数据结果 具体过程见:https://blog.csdn.net/m0_68894275/article/details/125028608 matlab中,每个figure都有(而且仅有)一个colormap,翻译过来就是色图。 COLORMAP(MAP) 用MAP矩阵映射当前图形的色图。 COLORMAP('default') 默认的设置是 JET. MAP = COLORMAP 获得当前色图矩阵. COLORMAP(AX,...) 应用色图到AX坐标对应的图形,而非当前图形。 colormap实际上是... figure(1) worldmap([35 75],[-150 -50]); %研究区范围 [DEM,R] = geotiffread('F:\DEM_SRTM\North America\Canada_USA_mianland.tif'); %加载带有坐标信息的图 DEM = double(DEM); %需要将 matplotlib中的色彩定义主要用到了RGB、RGBA、CMYK、灰色四种模型。 RGB模型 RGB是最常见的一种色彩模型,它使用红、绿、蓝三原色的亮度来定量表示颜色,这种模型也称为加色混色模型,是以RGB三色光互相叠加来实现混色的方法,因而适合于显示器等发光体的显示。 如果是三原色光中的两种色光进行等比例混合的话,那么,得到的结果是黄、青、紫三色光。 常见的案例如: 红+绿=黄 红+蓝=紫(亮紫) 绿+蓝=青 红+绿+蓝=白 三种基色光全无=黑 这是色光混合 看起来你不能轻易做到这一点.在Matlab 2013b或更早版本(我没有尝试过2014b)当你调用HeatMap时,它会在内部完成创建轴和设置颜色的过程等等.最终它到达plot.m中的一个点,其中调用以下函数:function scaleHeatMap(hHMAxes, obj)%SCALEHEATMAP Update the CLIM in image axesif obj.Symmetricm... https://blog.csdn.net/weixin_39653442/article/details/115813820 https://zhuanlan.zhihu.com/p/49615571 链接:https://www.zhihu.com/question/503639152/answer/2257427351 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 clear;clc; [x, y, z] = peaks(30); min_z = min(z(:)); max_z = max(z(:)); % 映射到 0 - 1 z = (z - min_z) ./ (max_z - min_z); % 映射到 我们知道索引图像有两个分量,一个是数据矩阵X,一个是彩色映射矩阵map,colormap就是用来设定map的函数。MATLAB中默认自带了18中colormap,图像如下 按照主题可分为: 季节(summer,autumn,winter,spring) 温度(hot,cool) 材质(bone,copper) hues(pink,gray) 颜色空间(hsv,colorcube 实验总结:红绿灯颜色以及数字识别(一):颜色识别 一、知识背景 颜色空间:通常拍摄的图像是RGB颜色空间,图片的像素点是由R、G、B分量来表示肉眼所看到的颜色。比如:红色为(255,0,0),黄色为(255,255,0),查找颜色对应的RGB值可查阅相关资料。(个人jio得阔以理解为色彩由红绿蓝三种颜色调和) 这里附上一个链接: 常用颜色的RGB值. 进行红绿灯识别时,需要转换到HSV空间:H(色调)、S(饱和度)、V(亮度)来进行信号灯识别。(个人认为转到HSV空间更便于由亮度对信号灯区域进行识别)