#问
如何让自己画出的数值对应不同的颜色呢?换话句话说,如何用不同的颜色表示不同的数值呢?
就是让数值的范围对应颜色的范围。
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
clc;
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;
end
标准色jet的分布结果
Reference:
- https://au.mathworks.com/help/matlab/ref/colormap.html