关键词:
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制定颜色数... 查看详情