matlab|matlab配色不够用,近2000款配色来啦(代码片段)

slandarer slandarer     2023-03-31     769

关键词:

MATLAB绘图配色不够多?很多python\\R语言绘图包都会带着好几套配色方案,比如很常见的ggsci绘图包就自带45套离散配色,于是本工具收集了常见55个绘图包中的离散配色,制作出了这个包含了1967套配色的离散配色包slanCL

基本使用

以下先说明代码咋用,最基础的用法就是:

  • slanCL(n)

就是选择slanCL包的第n套配色:

CList=slanCL(617)
% CList =
%     0.3059    0.4745    0.6549
%     0.9490    0.5569    0.1686
%     0.8824    0.3412    0.3490
%     0.4627    0.7176    0.6980
%     0.3490    0.6314    0.3098
%     0.9294    0.7882    0.2824
%     0.6902    0.4784    0.6314
%     1.0000    0.6157    0.6549
%     0.6118    0.4588    0.3725
%     0.7294    0.6902    0.6745

第二种用法有俩参数:

  • slanCL(n,Ind)

Ind可以是一个数值,也可以是一个向量:

CList=slanCL(617,[1,3,5,7,9])
% CList = 
%     0.3059    0.4745    0.6549
%     0.8824    0.3412    0.3490
%     0.3490    0.6314    0.3098
%     0.6902    0.4784    0.6314
%     0.6118    0.4588    0.3725

若是向量中的数值大于配色所含颜色数,依旧能取到颜色,不过颜色亮度变为前一轮颜色90%:

CList=slanCL(617,1:80);

可以看到数值越大颜色越暗:


绘图示例

示例1

% 随机生成数据
X=.3+rand(1,10);
explode=0.*X;
explode(7)=1.5;
% 基础绘图
pieHdl=pie(X,explode);
% 修改配色
for i=1:2:length(pieHdl)
    % 一次只取一个颜色
    pieHdl(i).FaceColor=slanCL(1924,(i+1)/2);
    pieHdl(i+1).FontName='Cambria';
    pieHdl(i+1).FontSize=12;
end
% 添加图例
lgdHdl=legend();
lgdHdl.Location='best';
lgdHdl.NumColumns=2;
lgdHdl.FontName='Cambria';
lgdHdl.FontSize=11;

示例2

% 随机生成数据
X=.3+rand(1,23);
% 基础绘图
ax=gca;hold on;axis tight
bHdl=bar(X);
bHdl.FaceColor='flat';
bHdl.LineWidth=.8;
% 修改配色
CList=slanCL(786,1:23);
for i=1:size(CList,1)
    bHdl.CData(i,:)=CList(i,:);
end
% 坐标区域修饰
ax.DataAspectRatio=[12,1,1];
ax.FontName='Times New Roman';
ax.LineWidth=.9;
ax.FontSize=13;
ax.YGrid='on';
ax.GridLineStyle='-.';
ax.XTick=1:23;

示例3

% 随机生成数据
X=1.5+rand(4,4);
% 基础绘图
ax=gca;hold on;
bHdl=bar(X,'LineWidth',.8);
% 修改配色
CList=slanCL(1514,1:4);
bHdl(1).FaceColor=CList(1,:);
bHdl(2).FaceColor=CList(2,:);
bHdl(3).FaceColor=CList(3,:);
bHdl(4).FaceColor=CList(4,:);
% 坐标区域修饰
ax.FontName='Times New Roman';
ax.LineWidth=.8;
ax.FontSize=12;
ax.YGrid='on';
ax.GridLineStyle='-.';
ax.XTick=1:23;

示例4

x=0:0.05:10;
K=linspace(0,6,50);
% 基础绘图
ax=gca;hold on;
for k=1:length(K)
    y=besselj(K(k),x);
    plot(x,y,'LineWidth',2,'Color',slanCL(531,k))
end
% 坐标区域修饰
ax.FontName='Times New Roman';
ax.LineWidth=.8;
ax.XMinorTick='on';
ax.YMinorTick='on';
ax.FontSize=12;
ax.XGrid='on';
ax.YGrid='on';
ax.GridLineStyle='-.';

示例5

X=rand(10);
ax=gca;hold on
CF=contourf(X);
% 修改配色
colormap(slanCL(1644))
colorbar 
% 坐标区域修饰
ax.FontName='Times New Roman';
ax.LineWidth=.8;
ax.XMinorTick='on';
ax.YMinorTick='on';
ax.FontSize=12;
ax.TickDir='out';

其他示例

以下展示我写的其他文章中的绘图使用本文中的配色:


配色展示

首先还是展示一下全部配色,让大家看看2000左右套配色有多壮观,之后介绍使用app designer写的辅助配色选择器。

后面将提供辅助筛选器!!

后面将提供辅助筛选器!!

后面将提供辅助筛选器!!

后面将提供辅助筛选器!!

全部配色展示

是不是有点壮观,这样选眼花了也选不出来配色,所以辅助筛选器来啦(showSlanCL.mlapp):

配色筛选器

选择来源库:

类型选择:

颜色数量选择:

拖动滑动条:


数据整理不易,希望大家该点赞的点赞,该在看的在看!!

未经允许本代码请勿作商业用途,引用的话可以引用我file exchange上的链接,可使用如下格式:

Zhaoxu Liu / slandarer (2023). 2000 palettes (https://www.mathworks.com/matlabcentral/fileexchange/126969-2000-palettes), MATLAB Central File Exchange. 检索来源 2023/3/28.

若转载请保留以上file exchange链接及本文链接!!!!!

该工具可通过上述fileexchange链接获取,或者通过以下gitee仓库下载:

https://gitee.com/slandarer/slanColor/

网盘链接:
链接:
https://pan.baidu.com/s/1oocjXDOQ_q1myB-1v29kgQ?pwd=slan
提取码:slan

matlab|matlab配色不够用全网最全的colormap补充包来啦(代码片段)

示例图片前言众所周知,MATLAB中的colormap只有少得可怜的几种:有很多应用在很特殊的图形中的colormap几乎都没有,而每次写代码都要去找颜色图属实太麻烦,因此就有了开发集成包的想法,我之前出过一篇使... 查看详情

matlab更换编辑器配色方案

MATLAB的默认编辑配色方案白色,长时间面对高亮度的白色界面容易产生眼睛疲劳的感觉,那么如何更换编辑器配色方案呢?经过不断探索以及查阅资料,发现了下列几种配色方案。配色文件来源于https://github.com/scottclowe/matlab-schem... 查看详情

matlab|我也做了一套绘图配色可视化模板(代码片段)

看到包括「阿昆的科研日常」等很多大佬都做了一套自己的模板用来分享一些科研绘图的配色,我也试着做了一套离散颜色版的(连续颜色敬请期待),以后遇到好看的配色可能会用这套模板分享,展示一下用ggsci库中... 查看详情

毕业季,用matlab制作一款环形相册吧!(代码片段)

0.运行效果完整步骤1.图片准备及导入要制作一款相册足够的图片量是必不可少的,不然整个相册只有一张图来回重复多没意思呀,因此我们需要一个文件夹专门放图片,为了方便导入,这里全部都是jpg格式:... 查看详情

matlab|matlab海洋气象数据colormap配色补充包(nclcolortables)(代码片段)

众所周知,海洋、气象、水文等一系列学科绘制图像时,因很多时候涉及要将陆地海洋分开或者应对一些非常特殊的情况,因此有很多非常特别的colormap,我之前虽然做过一些常用colormap的补充包但是依旧是无法完... 查看详情

matlab|matlab海洋气象数据colormap配色补充包(nclcolortables)(代码片段)

众所周知,海洋、气象、水文等一系列学科绘制图像时,因很多时候涉及要将陆地海洋分开或者应对一些非常特殊的情况,因此有很多非常特别的colormap,我之前虽然做过一些常用colormap的补充包但是依旧是无法完... 查看详情

用matlab制作一款真正意义上的拼图小游戏(代码片段)

效果:简单原理介绍:1构造0,1矩阵作为每片拼图的透明度,可以构造出不规则形状的拼图(image函数有alphaData属性可以设置)jigsawMask=zeros(101*5,101*5);jigsawMask(102:404,102:404)=1;[xMesh,yMesh]=meshgrid(1:101*5,1:101*5); 查看详情

matlab作图颜色(代码片段)

matlab默认配色参考链接https://zhuanlan.zhihu.com/p/492683309matlab的默认配色也是很漂亮的,其RGB三元组和十六进制代码可以在plot函数的帮助中查到。RGB三元组十六进制颜色代码[00.44700.7410]#0072BD[0.85000.32500.0980]#D95319[0.92900.69400.1250]#EDB... 查看详情

用matlab或者fortran怎么将秒数换算成日期?

...开始计数的,我怎么才能把它们转换成日期精确到秒,用matlab或者fortran,数很多,大约十几年,求解答~可以借用Unix时间戳参考:http://fcode.cn/code_gen-75-1.htmlinteger::mysec!//秒数callDate2UnixTime(2000,1,1,0,0,0,i)!//开始计时的时间戳i=i+mysec!... 查看详情

matlab如何将k线图设置为经典红绿配色?(代码片段)

一个简单的图形对象属性设置小实例?效果讲解首先来看官网的例子哈:loadSimulatedStock.mat;candle(TMW(end-20:end,:),'b')[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V9GO4Y6H-1658909385252)(https://f... 查看详情

matlab如何将k线图设置为经典红绿配色?(代码片段)

一个简单的图形对象属性设置小实例?效果讲解首先来看官网的例子哈:loadSimulatedStock.mat;candle(TMW(end-20:end,:),'b')后面的'b'就是'blue'蓝色,当然可以设置为'k'黑色,'r'红色等一系列颜色࿰... 查看详情

matlab爬取配色css数据及渐变图(代码片段)

之前发的几篇大家有“夸赞”我的审美的,今天主要爬取渐变色的css代码以及渐变图爬取的网站为:https://webgradients.com/想了解怎么爬取字符串的可以看一下上一篇,这里就不详述了,看后面代码应该能看懂,... 查看详情

Matlab,如何调整图形上的轴值(科学记数法 - 精度不够)[重复]

】Matlab,如何调整图形上的轴值(科学记数法-精度不够)[重复]【英文标题】:Matlab,howtoadjustaxisvaluesonfigures(scientificnotaiton-notenoughprecision)[duplicate]【发布时间】:2011-06-2716:04:04【问题描述】:可能重复:Suppressexponentialformattinginfi... 查看详情

色彩搭配利器:最好用的配色工具apptop5

...名视觉设计师,在方案伊始,经常会为如何做出一套好的配色方案而纠结,通过一张漂亮的风景照片从中提取出若干个颜色进行搭配,就是一种比较常见的做法。而这款配色工具则绝对会成为你的贴心好帮手~RealHex -拾色器... 查看详情

matlabcolourmap怎么用

...置颜色图为矩阵map。如果map中的任何值在区间[0,1]之外,MATLAB返回错误:Colormapmusthavevaluesin[0,1]。2.colormap('default')将当前的颜色图设置为默认的颜色图。3.cmap=colormap返回当前的颜色图。返回的值都在区间[0,1]内。指定色图在c... 查看详情

数学建模番外篇8:画图配色

...感觉美观的配色。图源:论文配色方案图源:科研绘图配色matlab高级绘图看到这篇博客整理了一些matlab的绘图案例,总结得不错,放个传送门在这里。https://blog.csdn.net/haizimin/article/details/50372630 查看详情

还在纠结配色问题?手把手教你用matlab一键生成高质量色卡(代码片段)

好久没写APPdesigner工具了,于是写了一个一键生成色卡工具,效果如下:可以自定义颜色数量,颜色格式,生成的色卡还能一键保存,保存效果:1使用流程点击LoadImg按钮导入图片更改ColorNum制定颜色数... 查看详情

还在纠结配色问题?手把手教你用matlab一键生成高质量色卡(代码片段)

好久没写APPdesigner工具了,于是写了一个一键生成色卡工具,效果如下:可以自定义颜色数量,颜色格式,生成的色卡还能一键保存,保存效果:1使用流程点击LoadImg按钮导入图片更改ColorNum制定颜色数... 查看详情