matlab创建个性化绚丽色彩图
内容
函数设置详解
运行代码
输入:
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创建个性化绚丽色彩图相关推荐
- MATLAB创建符号变量和符号表达式
MATLAB创建符号变量和符号表达式 MATLAB符号运算处理的主要对象是符号或符号表达式,为此要使用一种新的数据类型-符号变量.符号表达式的创建可由符号''或sym函数来完成,sym一次只能创建一个 ...
- matplotlib.pyplot.colormaps色彩图cmap
cmap常用于改变绘制风格,如黑白gray,翠绿色virdidis 一.问题 使用plt.imshow时常用不同的颜色,如plt.imshow(images, cmap=plt.get_cmap('g ...
- matlab 动态存储图片,利用matlab创建动态图并保存为AVI格式
利用matlab创建动态图并保存为AVI格式. MATLAB中,创建电影动画的过程分为以下四步: step1:调用moviein函数对内存进行初始化(该步骤在Matlab5.3以上均可省略),创建一个 ...
- matlab 创建同型矩阵_仅在第1部分之间的海洋中探索同型图
matlab 创建同型矩阵 同型的教训-第1部分 (Lessons of Isotype - PART 1) There's much to be told in the story of the I ...
- 微信服务号开发----创建个性化菜单
官方链接http://mp.weixin.qq.com/wiki/0/c48ccd12b69ae023159b4bfaa7c39c20.html 1.目的:让公众号的不同用户群体看到不一样的自定义菜单 ...
- matlab程序 如何使用,如何使用MATLAB创建一个最简单的程序
<如何使用MATLAB创建一个最简单的程序>由会员分享,可在线阅读,更多相关<如何使用MATLAB创建一个最简单的程序(4页珍藏版)>请在人人文库网上搜索. 1.如何使用MAT ...
- matlab建立一个三维矩阵,matlab创建三维矩阵
<matlab创建三维矩阵>由会员分享,可在线阅读,更多相关<matlab创建三维矩阵(6页珍藏版)>请在人人文库网上搜索. 1.创建三维矩阵的几种方法一下标法1.三维矩阵的创 ...
- matlab创建三维数组的三种方法
在Matlab中习惯性的会将二维数组中的第一维称为"行"第二维称为"列",而对于三维数组的第三位则是习惯性的称为"页".在Matlab中将三 ...
- matlab一维数组截取,Matlab创建一维数组的具体操作讲解
原创Matlab创建一维数组的具体操作讲解 编辑:小葫芦 来源:PC下载网时间:2019-12-25 11:54:41 最近不少网友表示自己刚刚入手Matlab软件,还不会创建一维数组,而下面这篇文章 ...
- 从开发到部署:一站式指南创建个性化 Slack App 问答机器人
从开发到部署:一站式指南创建个性化 Slack App 问答机器人 01 简介 做这个教程是因为看别人拿免费的割韭菜很不爽,所以准备做个教程来教大家如何搭建一个问答机器人 内核其实就是利用了slack ...
最新文章
- java arraylist 删除回车符_2种Java删除ArrayList中的重复元素的方法
- 邮件实现详解(三)------邮件的组织结构
- 批处理命令 / cd
- pytorch Tensor操作(二)
- activiti 条件表达式json报错_2020年2月13日学习python 条件控制
- DDD:关于聚合的思考
- python笔试编程题_Python——面试编程题
- 高阶函数 实现sum(2)(3) 柯里化
- ALSA播放时杂音问题
- 腾达n3_腾达n3迷你路由参数
- VS2013 堆栈溢出调查(0xC00000FD: Stack overflow)
- 吴恩达机器学习视频学习笔记(2)
- MySQL 时间函数
- Linux下安装Eclipse的PHP插件(PHPEclipse)
- 解读住房公积金提取买房、租房、贷款新政
- java在浏览器闪退_Edge浏览器闪退怎么办,Edge浏览器闪退如何修复
- 创业好,还是上班好?你觉得呢
- 今日头条最新_signature
- 解决“VM has multidex support, MultiDex support library is disabled.”
- 编译安卓系统源码jack-server问题入坑,全网最全解决方法
热门文章
- 计算机程序有哪些性质,程序的特性有哪些
- android手机电量测试,Android手机app耗电量测试工具 - Gsam Battery Monitor
- 牛客 检测命令是否正确
- 计算机中怎样算2的21次方,脑筋急转弯:2的31次方与3的21次方哪个大?天才知道!...
- ps抠图怎么放大图片_PS抠图时选区图片放大后,怎么移动图片抠图选区?
- SAP 固定资产折旧 计算方法
- E php短信平台接口
- 洛谷再分肥宅水c语言,【菜鸟进阶之路】P5706【深基2.例8】再分肥宅水 - 洛谷
- C++派生类与继承(超详细)
- 区块链资产证券化调研整理