渐变配色在科研绘图时十分常用

比如三维柱状图

特征渲染散点图

热图

等等,都需要使用渐变配色

作为一个Matlab用户,你大概听说过jetparulahsvhot这些耳熟能详的颜色图(colormap)。

而在去年这个时候,我制作了一个addcolorplus配色强化工具,里面集成了Python Matplotlib和Surfer中的72种渐变色。一经推出,也算是广受好评。

按理说,这几十种渐变色也差不多够用了。

实际应用时,似乎又不完全够用

比如,很多时候,需要我们自己来制作渐变色颜色图

再比如,addcolorplus中的渐变色是64色的,在一些场景应用时,会出现“波纹“现象,因此需要对其进行致密化处理;另一方面,如果我们就是想要七八种颜色组成的稀疏渐变色,那还需要对其进行稀疏化处理

还有一个问题是,当我们想要编辑颜色图,调节颜色的显示区间时,会发现Matlab自带的colormapeditor有些难用,这个懂得都懂。

为了解决上述问题,我用Matlab制作了这个ColorMap渐变色生成/编辑器

那么,它都能做些什么呢?

功能1:生成渐变色颜色图

对于给定的颜色矩阵:

C = [  2  48  71      18 104 131      39 158 188     144 201 230     255 255 255]/255;

利用ColorMap工具,将颜色矩阵C与渐变色数量N作为输入参数,即可得到渐变色颜色图map:

N = 256;map = ColorMap(C,N);

然后利用colormap(map)命令对已有数据图赋色:

具体示例程序见demo1

功能2:致密化与稀疏化

对于已有的渐变色颜色图,比如addcolorplus配色强化工具中的300号渐变色:

C = addcolorplus(300);% 绘图figureimage(permute(C,[1,3,2]))

如果觉得颜色渐变程度还不够,可以通过ColorMap工具,设置一个较大的渐变色数量N1

% 致密化后渐变色总数N1 = 256;% ColorMap颜色致密化处理map = ColorMap(C,N1);% 绘图figureimage(permute(map,[1,3,2]))

而如果想要对其进行稀疏化处理,只需设置一个较小的渐变色数量N2

% 稀疏化后渐变色总数N2 = 7;% ColorMap颜色稀疏化处理map = ColorMap(C,N2);% 绘图figureimage(permute(map,[1,3,2]))

具体示例程序见demo2

功能3:显示区间调节

上述两种功能均采用等间距模式生成渐变色

而ColorMap工具中还包括另一种模式:非等间距模式

对于给定的颜色矩阵C:

C = [068 004 090     065 062 133     048 104 141     031 146 139     053 183 119     145 213 066     248 230 032]/255;

首先定义比例参数ratio

ratio = [0.1 0.1 0.1 0.1 0.2 0.4];

具体来说,对于给定数量的渐变色颜色图,ratio中的0.4表示(145 213 066)和(248 230 032)两种颜色渐变的占比为40%,0.2表示(053 183 119)和(145 213 066)两种颜色渐变的占比为20%……

特别注意,ratio变量中数字的数量等于颜色矩阵C的行数减1,数字之和等于1,而且所有数字不能完全相等(完全相等就是等间距模式)

然后,利用ColorMap工具的‘mode2’生成非等间距渐变色:

map2 = ColorMap(C,N,'mode2',ratio);

最后使用colormap(map)命令对已有数据图赋色即可:

具体示例程序见demo3

以上。

获取方式:

Matlab渐变色生成器ColorMap

Matlab渐变颜色图(colormap)生成/编辑器—ColorMap相关推荐

  1. 【MATLAB】进阶绘图 ( colormap 颜色图矩阵分析 | 自定义 colormap 颜色图 | 生成 64 x 3 的 colormap 颜色图矩阵 )

    文章目录 一.colormap 矩阵分析 二.自定义 colormap 颜色图 1.生成 colormap 矩阵 2.代码示例 一.colormap 矩阵分析 imagesc 函数参考文档 : htt ...

  2. python画图渐变颜色的代号_plt绘图颜色渐变以及colormap

    # 多输出 from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interacti ...

  3. MATLAB交换图片红绿颜色通道,matlab的颜色映射colormap

    Colormap 颜色映射 1.首先说明颜色图这个概念: 在matlab中用我们描述一种颜色通常用RGB(红绿蓝)的形式,当然在计算机中RGB取值都在0到1的实数,强度必须在 [0, 1] 范围内,值 ...

  4. MATLAB | 我用MATLAB复刻了这场颜色图生成大赛的作品

    我用MATLAB复刻了这场颜色图绘制大赛的作品 这场比赛居然已经是七年前的事情了,大佬A Frayed Knot在StackExchange上发起了挑战,举办了名为Tweetable Mathemat ...

  5. matlab 颜色图名称

    颜色图名称 HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model). 这个模 ...

  6. matlab如何多幅图统一一个颜色栏,每个图使用多个颜色图【含Matlab源码】

    每个图使用多个颜色图!适用于多种类型的对象,不仅适用于图像. 问题:每个图形只有一个颜色图,因此所有图共享相同的颜色图.通常人们想要不同的颜色图. 解决方案:此功能对提供了一种在同一图中使用不同col ...

  7. matlab画三维图如何更改颜色,matlab画三维图像的示例代码(附demo)

    当我们学习surface命令时,已经看到了三维作图的一些端倪.在matlab中我么可以调用mesh(x,y,z)函数来产生三维图像. 首先,我们用z=cos(x)sin(y)在-2pi ≤x,y≤ 2 ...

  8. python生成渐变颜色数组

    可以使用 Matplotlib 库中的 LinearSegmentedColormap 类来生成渐变颜色数组. 首先,需要安装 Matplotlib 库,在命令行中输入: pipinstall mat ...

  9. Matlab颜色图相关

    Matlab颜色图相关 plot函数'color'属性调整 颜色图编辑 plot函数'color'属性调整 'color'属性网上说有'r','g','b','c','m','y','k','w'几个 ...

最新文章

  1. python3的星期函数_calendar在python3时间中有哪些常用函数?怎么用?
  2. python怎么捕获mysql报错
  3. [Gamma]Scrum Meeting#5
  4. 云信小课堂|聊天室内容审核很头疼?3步解决!
  5. aix么把占用的端口释放掉_AIX 环境下Telnet返回提示所有端口已经被占用,处理方法...
  6. Android开发之打开QQ聊天页面的方法
  7. Python语言实现用requests和正则表达式方法爬取猫眼电影排行榜前100部电影
  8. 基于JAVA+SpringBoot+Mybatis+MYSQL的社团管理系统
  9. c++用一级运算比较大小_Python运算符
  10. has install-snap change in progress问题
  11. C#调用Microsoft.DirectX.DirectSound问题记录及解决
  12. 定做属于自己的Lodop安装程序
  13. IIS与ASP.NET Http Runtime Pipeline
  14. cognos安装教程linux,Cognos安装步骤Linux
  15. 如何关闭正在运行的端口
  16. 分布式资源管理与任务调度框架Yarn
  17. 标准的服务端返回Result封装及使用
  18. 当人工智能敲响了门 我们将迎来怎样的世界?/智库2861
  19. matlab生成全黑图片,程序第一次可以运行,第二次运行图片是全黑的
  20. 欧几里德距离、欧拉距离

热门文章

  1. ffmpeg保存rtsp视频流为mp4文件
  2. 华硕rt-ac85p更换新驱动(一)
  3. axure原件 总是丢失_【总结整理】AXURE原件
  4. 追忆年华――孩子时代的玩具
  5. 转载一个很经典的--C# Socket TCP和UDP报文及端口测试工具的开发(提供源码)
  6. 全国计算机等级考试Python二级知识点_1
  7. php redis操作详解
  8. 你还记得当年高考时的样子吗?
  9. css js 简单的径向菜单学习笔记
  10. bootstrap 页面垂直居中_bootstrap4如何实现div的水平居中以及垂直居中