写了个函数,可以在MATLAB 中使用 python 全部 colormap 配色:
(以下仅展示部分)

工具函数及说明

注意文件夹内一定要有:

  • PYCM.m
  • PYCMset.mat

两个文件 ,PYCM.m 为主函数,PYCMset.mat 为包含颜色数据及名称的 mat 文件,以下展示当前版本 PYCM.m 完整代码(完整m文件及颜色数据文件下载方式请查看文末):

function CM=PYCM
% @author: slandarer
% @公众号: slandarer随笔
% @知  乎: hikari
% =====================================================
% 基本使用:
% PYCM().pink(n)
% PYCM().pink()       % 未指定数目时默认返回100个RGB值
% PYCM().pink(50)     % 获取名为pink的色带的50个数值
% PYCM().viridis(50)  % 获取名为viridis的色带的50个数值
% 配合colormap函数使用:
% colormap(PYCM().pink())
% -----------------------------------------------------
% 获取全部colormaps名称:
% PYCM().colormaps()
% -----------------------------------------------------
% 色卡展示:
% PYCM().show()  % 创建6个窗口展示全部色卡
% PYCM().show(1) % 展示第一个色卡pyData=load('PYCMset.mat');% 获取n个插值颜色基础函数--------------------------------------------------function map=interpColor(map,n)if isempty(n)n=100;elseif isempty(n{1})||round(n{1}(1))==0||~isnumeric(n{1})n=100;elsen=abs(round(n{1}(1)));endendmap=map./255;Xi=1:size(map,1);Xq=linspace(1,size(map,1),n);map=[interp1(Xi,map(:,1),Xq,'linear')',...interp1(Xi,map(:,2),Xq,'linear')',...interp1(Xi,map(:,3),Xq,'linear')'];end
for i=1:length(pyData.CLASS.Total)CM.(pyData.CLASS.Total{i})=@(varargin)interpColor(pyData.CM.(pyData.CLASS.Total{i}),varargin);
end% 展示全部颜色种类函数-----------------------------------------------------function showName(pyData)fprintf('%s\n',char(ones(1,60).*61))for m=1:length(pyData.CLASS.ListFullName)fprintf('【%s】:\n\n',pyData.CLASS.ListFullName{m})k6=ceil(length(pyData.CLASS.(pyData.CLASS.List{m}))/6);for n=1:k6fprintf('%s  ',pyData.CLASS.(pyData.CLASS.List{m}){(n-1)*6+1:min(n*6,end)})fprintf('\n')endfprintf('%s\n',char(ones(1,60).*45))endend
CM.colormaps=@()showName(pyData);% 色卡生成函数-------------------------------------------------------------function showCM(pyData,n)if isempty(n)||round(n{1}(1))>6||round(n{1}(1))<1||~isnumeric(n{1})n=1:6;elsen=round(n{1}(1));endfor k=nshowCMinFunc(pyData,k);endfunction showCMinFunc(pyData,n)fig=figure();ax=axes('Parent',fig);hold on;ax.XLim=[0,800];ax.XTick=[];ax.XColor='none';ax.YLim=[0,600];ax.YTick=[];ax.YColor='none';ax.FontName='cambria';ax.FontSize=15;ax.Title.String=pyData.CLASS.ListFullName{n};tNameList=pyData.CLASS.(pyData.CLASS.List{n});[XMesh,YMesh]=meshgrid(161:793,linspace(0,1,20));ZMesh=zeros(size(XMesh));for kk=1:length(tNameList)tCMesh=reshape(pyData.CM.(tNameList{kk})./255,[1,633,3]);tCMesh=repmat(tCMesh,[20,1]);surf(XMesh,(600-10-32*kk).*ones(20,633)+YMesh.*28,ZMesh,'CData',tCMesh,'EdgeColor','interp');tName=tNameList{kk};if any(tName=='_')downLinePos=find(tName=='_');tName=[tName(1:downLinePos-1),'\',tName(downLinePos:end)];endtext(158,(600-10-32*kk+16),tName,'FontName','cambria','HorizontalAlignment','right','FontSize',14)endendend
CM.show=@(varargin)showCM(pyData,varargin);
end

基本使用

我们可以通过

PYCM().name(n)

的形式基础使用函数,这样会得到一个包含 n 个颜色的 nx3 大小的矩阵,name是函数支持的颜色名称,支持的有很多,会在后面部分进行列举,先举个使用 pink 颜色渲染的实例:

[X,Y,Z]=peaks(25);
surf(X,Y,Z)colormap(PYCM().pink())
colorbar


我们会发现我们实际用的时候并没有输入n,实际上这个n缺省时,会被自动设置为100,如果我们将使用colormap 那行改为:

colormap(PYCM().viridis(5))

则有效果如下:

颜色列表的文字输出

颜色种类有很多,但是我们咋知道哪些名称是可以选择的呢,当编写如下代码时:

PYCM().colormaps()

将会在命令行输出全部可选颜色列表(仅展示部分输出):

颜色列表的图像展示

当然,光看名字很难猜出颜色都是啥样的,因此我还设置了一个 show 函数,使用方式如下:

PYCM().show(n)

n可以取1~6的数值,当取不同数值时会新建窗口展示不同类型的颜色列表。当然如果缺省参数:

PYCM().show()

则会展示所有色卡:






完整数据包及代码:

完整代码及工具包在这里

【链接】:https://pan.baidu.com/s/11ymQMtaAsrlH_itZazG8TA?pwd=1v2m
【提取码】:1v2m

完整代码及工具包在这里

另:解压后,将文件夹位置添加到设置路径,则其他位置的程序也可以使用该工具函数:

MATLAB | 如何在MATLAB中使用python全部colormap配色相关推荐

  1. 如何在Windows中安装Python?

    如何在Windows中安装Python? 1. Python的安装 官网下载:https://www.python.org/downloads/windows/ 点开上面的链接,会发现有很多版本. 首 ...

  2. excel调用python编程-如何在excel中调用python脚本

    如何在excel中调用python脚本 发布时间:2020-07-03 14:15:28 来源:亿速云 阅读:155 如何在excel中调用python脚本?针对这个问题,这篇文章详细介绍了相对应的分 ...

  3. fortran语言和python_如何在Fortran中调用Python

    Python是机器学习领域不断增长的通用语言.拥有一些非常棒的工具包,比如scikit-learn,tensorflow和pytorch.气候模式通常是使用Fortran实现的.那么我们应该将基于Py ...

  4. unbantu上python安装步骤_如何在Ubuntu中安装Python 3.6?

    Python是增长最快的主要通用编程语言.原因有很多,比如它的可读性和灵活性,易于学习和使用,可靠和高效. 有两个主要的Python版本被使用- 2和3 (Python的现在和未来);前者将看不到新的 ...

  5. 如何在latex中使用python及pythontex功能简介

    如何在latex中使用python及pythontex功能简介 这是我在latexstudio写的文章. 请直接看: [如何在latex中使用python及pythontex功能简介]

  6. 如何在VSCode中添加Python解释器并安装Python库

    如何在VSCode中添加Python解释器并安装Python库 作者介绍 一. 安装VScode编辑器 二. 安装Python解释器 三. 在VScode中添加Python解释器 四. 创建项目并在V ...

  7. 如何在Vscode中安装Python库

    如何在vscode中安装python库 1.已经在vscode中装了python并配置好python运行环境. 检查是否正确配置好运行环境,按Windows+R组合键在运行窗口输入cmd,打开命令提示 ...

  8. 如何在cmd中切换python版本总结

    如何在cmd中切换Python版本总结 前言 尝试一:更改系统变量 尝试二.更改解释器名称 前言 由于学习nao机器人编程参加比赛,因此安装了python2.7版本.而之前安装的都为python3.9 ...

  9. 如何在JavaScript中检测用户的首选配色方案

    by Oskar Hane 由Oskar Hane 如何在JavaScript中检测用户的首选配色方案 (How to detect a user's preferred color scheme i ...

最新文章

  1. ST-Link VCP Ctrl驱动安装失败解决(win7 64bits)
  2. 【数据结构与算法】之深入解析“TinyURL加密与解密”的求解思路与算法示例
  3. 2 Effect Hook
  4. 谷歌浏览器的驱动下载安装与配置-0223
  5. Spring Cloud 微服务实战系列-Eureka注册中心(一)
  6. 【linux基础】16、软件包管理
  7. linux锐捷认证成功无法上网,锐捷认证成功但是却无法上网怎么办
  8. 联想微型计算机设置键盘开机,联想台式机怎么样设置键盘开机
  9. opencv-之求直线的斜率
  10. Git出现 Your local changes to the following files would be overwritten by merge: con
  11. Excel的单元格设置下拉选项并填充颜色
  12. 外网远程访问管家婆ERP进销存
  13. OSChina 周四乱弹 ——因为女同事衣服穿的薄 所以老板发现我没上班?
  14. Excel在统计分析中的应用—第十二章—回归分析与预测-应用LINEST函数进行回归分析
  15. 2002年世界杯中国队男足的3场比赛(中国vs哥斯达黎加、巴西和土耳其)比分
  16. osgEarth如何加载离线谷歌卫星地图瓦片的源码教程
  17. python画函数图像网格_用python 画一个网格
  18. H5和原生APP之间的区别
  19. >> 读书记录_2022
  20. C语言标准库--官网

热门文章

  1. oracle中间人投毒漏洞,Oracle Database Server 'TNS Listener'远程数据投毒漏洞(CVE-2012-1675)的完美解决方法...
  2. Web地图服务规范(WMS、WMTS、TMS)简析
  3. 激活具有 eSIM 功能的消费类物联网设备的 4 种方法
  4. 穿越晋商百年-体验非遗文化
  5. 21. 程序员生存定律-选公司前要干的事:分类
  6. 人工智能在各个领域里的应用场景
  7. 入门经典_Chap08_题解总结:极角扫描法 滑动窗口 单调队列 单调栈
  8. 【English】百词斩阅读记事
  9. PHP redis 全部命令
  10. 亲测有效,解决MAC无法联网的问题