内容

  • 函数设置详解

  • 运行代码

输入:
M-可选1到256之间的整数,指定颜色图中的颜色数。默认值为128。MINMAX-(可选)是1x2向量,其值介于0和1之间,代表颜色的强度范围,分别对应于黑色和白色。默认值为[0.15 0.85]。CLRS-可选是Nx3值矩阵(介于0和1之间),表示颜色表中的所需颜色;或者包含以下字母的任意组合的字符串:
'r'=红色,'g'=绿色, 'b'=蓝色 'y'=黄色,'c'=青色,'m'=洋红色 'o'=橙色,'l'=柠檬绿色,'a'=蓝绿色 's'=天蓝色,'v'=紫色,'p'=粉色
'k'或'w'=黑色/白色/灰度
输出:
CMAP-Mx3色彩图矩阵

示例:
%默认色彩图

     imagesc(sort(rand(200),'descend'));colormap(vivid); colorbar

示例:
具有256种颜色的%映射

      imagesc(peaks(500))colormap(vivid(256)); colorbar

示例:
全强度范围图像的百分比映射

      mesh(peaks(500))colormap(vivid([0 1])); colorbar

示例:
用深色%映射

      mesh(peaks(500))colormap(vivid([0 .5])); colorbar

示例:
使用自定义颜色矩阵图像进行的百分比映射

      imagesc(peaks(500))clrs = [.5 0 1; 0 .5 1; 0 1 .5; .5 1 0; 1 .5 0; 1 0 .5;];colormap(vivid(clrs)); colorbar

示例:
使用颜色字符串图像进行%映射

      imagesc(peaks(500))colormap(vivid('pmvbscaglyor')); colorbar

示例:
具有多个自定义设置的%颜色图

      imagesc(sort(rand(300,100),'descend'));colormap(vivid(64,[.1 .9],'bwr')); colorbar

例如:
%Topo Colormap

      load topo;imagesc(topo); axis xy; caxis([-6000 6000])colormap(vivid('bg')); colorbar

vivid函数

% VIVID Creates a Personalized Vivid Colormap
%
%  VIVID(M,...) Creates a colormap with M colors
%  VIVID(MINMAX,...) Creates a colormap with a custom intensity range
%  VIVID(CLRS,...) Creates a colormap with custom colors
%  CMAP = VIVID(...) Exports the vivid colormap to a Mx3 matrix
%
%   Inputs:
%       M - (optional) an integer between 1 and 256 specifying the number
%           of colors in the colormap. Default is 128.
%       MINMAX - (optional) is a 1x2 vector with values between 0 and 1
%           representing the intensity range for the colors, which correspond
%           to black and white, respectively. Default is [0.15 0.85].
%       CLRS - (optional) either a Nx3 matrix of values between 0 and 1
%           representing the desired colors in the colormap
%               -or-
%           a string of characters that includes any combination of the
%           following letters:
%               'r' = red           'g' = green         'b' = blue
%               'y' = yellow        'c' = cyan          'm' = magenta
%               'o' = orange        'l' = lime green    'a' = aquamarine
%               's' = sky blue      'v' = violet        'p' = pink
%               'n' = navy blue     'f' = forest green
%               'k' or 'w' = black/white/grayscale
%
%   Outputs:
%       CMAP - an Mx3 colormap matrix
%
%   Example:
%       % Default Colormap
%       imagesc(sort(rand(200),'descend'));
%       colormap(vivid); colorbar
%
%   Example:
%       % Mapping With 256 Colors
%       imagesc(peaks(500))
%       colormap(vivid(256)); colorbar
%
%   Example:
%       % Mapping With Full Intensity Range
%       mesh(peaks(500))
%       colormap(vivid([0 1])); colorbar
%
%   Example:
%       % Mapping With Light Colors
%       mesh(peaks(500))
%       colormap(vivid([.5 1])); colorbar
%
%   Example:
%       % Mapping With Dark Colors
%       mesh(peaks(500))
%       colormap(vivid([0 .5])); colorbar
%
%   Example:
%       % Mapping With Custom Color Matrix
%       imagesc(peaks(500))
%       clrs = [.5 0 1; 0 .5 1; 0 1 .5; .5 1 0; 1 .5 0; 1 0 .5;];
%       colormap(vivid(clrs)); colorbar
%
%   Example:
%       % Mapping With Color String
%       imagesc(peaks(500))
%       colormap(vivid('pmvbscaglyor')); colorbar
%
%   Example:
%       % Colormap With Multiple Custom Settings
%       imagesc(sort(rand(300,100),'descend'));
%       colormap(vivid(64,[.1 .9],'bwr')); colorbar
%
%   Example:
%       % Topo Colormap
%       load topo;
%       imagesc(topo); axis xy; caxis([-6000 6000])
%       colormap(vivid('bg')); colorbar
%
% See also: jet, hsv, gray, hot, cold, copper, bone, fireice
%
% Author: Joseph Kirk
% Email: jdkirk630@gmail.com
% Release: 1.1
% Date: 12/09/11
function cmap = vivid(varargin)% Default Color Spectrum
clrs = [1 0 1;.5 0 1;0 0 1;0 1 1    % Magenta, Violet, Blue, Cyan0 1 0;1 1 0;1 .5 0;1 0 0];      % Green, Yellow, Orange, Red% Default Min/Max Intensity Range
minmax = [0.15 0.85];% Default Colormap Size
m = 256;% Process Inputs
for var = varargininput = var{1};if ischar(input)nColors = length(input(:));colorMat = zeros(nColors,3);c = 0;for k = 1:nColorsc = c + 1;switch lower(input(k))case 'r', colorMat(c,:) = [1 0 0];  % redcase 'g', colorMat(c,:) = [0 1 0];  % greencase 'b', colorMat(c,:) = [0 0 1];  % bluecase 'y', colorMat(c,:) = [1 1 0];  % yellowcase 'c', colorMat(c,:) = [0 1 1];  % cyancase 'm', colorMat(c,:) = [1 0 1];  % magentacase 'p', colorMat(c,:) = [1 0 .5]; % pinkcase 'o', colorMat(c,:) = [1 .5 0]; % orangecase 'l', colorMat(c,:) = [.5 1 0]; % lime greencase 'a', colorMat(c,:) = [0 1 .5]; % aquamarinecase 's', colorMat(c,:) = [0 .5 1]; % sky bluecase 'v', colorMat(c,:) = [.5 0 1]; % violetcase 'f', colorMat(c,:) = [0 .5 0]; % forest greencase 'n', colorMat(c,:) = [0 0 .5]; % navycase {'k','w'}, colorMat(c,:) = [.5 .5 .5]; % grayscaleotherwise, c = c - 1;fprintf('Warning: Input character [%s] is not a recognized color ...\n',input(k));endendcolorMat = colorMat(1:c,:);if ~isempty(colorMat)clrs = colorMat;endelseif isnumeric(input)if isscalar(input)m = max(1,min(256,round(real(input))));elseif size(input,2) == 3clrs = max(0,min(1,real(input)));elseif length(input) == 2minmax = max(0,min(1,real(input)));endend
end% Calculate Parameters
nc = size(clrs,1);  % number of spectrum colors
ns = ceil(m/nc);    % number of shades per color
n = nc*ns;
d = n - m;% Scale Intensity
sup = 2*minmax;
sub = 2*minmax - 1;
if ns == 1high = repmat(min(1,mean(sup)),[1 nc 3]);low = repmat(max(0,mean(sub)),[1 nc 3]);
elsehigh = repmat(min(1,linspace(sup(1),sup(2),ns))',[1 nc 3]);low = repmat(max(0,linspace(sub(1),sub(2),ns))',[1 nc 3]);
end% Determine Color Spectrum
rgb = repmat(reshape(clrs,1,nc,3),ns,1);
map = rgb.*high + (1-rgb).*low;% Obtain Color Map
cmap = reshape(map,n,3,1);
cmap(1:ns:d*ns,:) = [];

引用为:约瑟夫·柯克(Joseph Kirk)

matlab创建个性化绚丽色彩图相关推荐

  1. MATLAB创建符号变量和符号表达式

    MATLAB创建符号变量和符号表达式 MATLAB符号运算处理的主要对象是符号或符号表达式,为此要使用一种新的数据类型-符号变量.符号表达式的创建可由符号''或sym函数来完成,sym一次只能创建一个 ...

  2. matplotlib.pyplot.colormaps色彩图cmap

    cmap常用于改变绘制风格,如黑白gray,翠绿色virdidis 一.问题 使用plt.imshow时常用不同的颜色,如plt.imshow(images, cmap=plt.get_cmap('g ...

  3. matlab 动态存储图片,利用matlab创建动态图并保存为AVI格式

    利用matlab创建动态图并保存为AVI格式. MATLAB中,创建电影动画的过程分为以下四步: step1:调用moviein函数对内存进行初始化(该步骤在Matlab5.3以上均可省略),创建一个 ...

  4. matlab 创建同型矩阵_仅在第1部分之间的海洋中探索同型图

    matlab 创建同型矩阵 同型的教训-第1部分 (Lessons of Isotype - PART 1) There's much to be told in the story of the I ...

  5. 微信服务号开发----创建个性化菜单

    官方链接http://mp.weixin.qq.com/wiki/0/c48ccd12b69ae023159b4bfaa7c39c20.html 1.目的:让公众号的不同用户群体看到不一样的自定义菜单 ...

  6. matlab程序 如何使用,如何使用MATLAB创建一个最简单的程序

    <如何使用MATLAB创建一个最简单的程序>由会员分享,可在线阅读,更多相关<如何使用MATLAB创建一个最简单的程序(4页珍藏版)>请在人人文库网上搜索. 1.如何使用MAT ...

  7. matlab建立一个三维矩阵,matlab创建三维矩阵

    <matlab创建三维矩阵>由会员分享,可在线阅读,更多相关<matlab创建三维矩阵(6页珍藏版)>请在人人文库网上搜索. 1.创建三维矩阵的几种方法一下标法1.三维矩阵的创 ...

  8. matlab创建三维数组的三种方法

    在Matlab中习惯性的会将二维数组中的第一维称为"行"第二维称为"列",而对于三维数组的第三位则是习惯性的称为"页".在Matlab中将三 ...

  9. matlab一维数组截取,Matlab创建一维数组的具体操作讲解

    原创Matlab创建一维数组的具体操作讲解 编辑:小葫芦 来源:PC下载网时间:2019-12-25 11:54:41 最近不少网友表示自己刚刚入手Matlab软件,还不会创建一维数组,而下面这篇文章 ...

  10. 从开发到部署:一站式指南创建个性化 Slack App 问答机器人

    从开发到部署:一站式指南创建个性化 Slack App 问答机器人 01 简介 做这个教程是因为看别人拿免费的割韭菜很不爽,所以准备做个教程来教大家如何搭建一个问答机器人 内核其实就是利用了slack ...

最新文章

  1. java arraylist 删除回车符_2种Java删除ArrayList中的重复元素的方法
  2. 邮件实现详解(三)------邮件的组织结构
  3. 批处理命令 / cd
  4. pytorch Tensor操作(二)
  5. activiti 条件表达式json报错_2020年2月13日学习python 条件控制
  6. DDD:关于聚合的思考
  7. python笔试编程题_Python——面试编程题
  8. 高阶函数 实现sum(2)(3) 柯里化
  9. ALSA播放时杂音问题
  10. 腾达n3_腾达n3迷你路由参数
  11. VS2013 堆栈溢出调查(0xC00000FD: Stack overflow)
  12. 吴恩达机器学习视频学习笔记(2)
  13. MySQL 时间函数
  14. Linux下安装Eclipse的PHP插件(PHPEclipse)
  15. 解读住房公积金提取买房、租房、贷款新政
  16. java在浏览器闪退_Edge浏览器闪退怎么办,Edge浏览器闪退如何修复
  17. 创业好,还是上班好?你觉得呢
  18. 今日头条最新_signature
  19. 解决“VM has multidex support, MultiDex support library is disabled.”
  20. 编译安卓系统源码jack-server问题入坑,全网最全解决方法

热门文章

  1. 计算机程序有哪些性质,程序的特性有哪些
  2. android手机电量测试,Android手机app耗电量测试工具 - Gsam Battery Monitor
  3. 牛客 检测命令是否正确
  4. 计算机中怎样算2的21次方,脑筋急转弯:2的31次方与3的21次方哪个大?天才知道!...
  5. ps抠图怎么放大图片_PS抠图时选区图片放大后,怎么移动图片抠图选区?
  6. SAP 固定资产折旧 计算方法
  7. E php短信平台接口
  8. 洛谷再分肥宅水c语言,【菜鸟进阶之路】P5706【深基2.例8】再分肥宅水 - 洛谷
  9. C++派生类与继承(超详细)
  10. 区块链资产证券化调研整理