MATLAB 您所在的位置:网站首页 matlab中connect MATLAB

MATLAB

#MATLAB | 来源: 网络整理| 查看: 265

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;示例4x=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='-.';示例5X=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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有