默认的Matlab默认线条规格和颜色贴图非常粗糙。此功能通过在“感知”空间中而不是在RGB空间中均匀地将颜色隔开来创建可区分的颜色。它基于辛西娅·布鲁尔教授(colorbrewer!)的研究,但使用起来非常简单。
此函数用于创建N[R B G]颜色的Nx3数组
这些可以用来绘制许多线条,并具有可分辨和好看的颜色。
lineStyles=linspecer(N);为您制作N种颜色:lineStyles(ii,:)
colormap(linspecer);将您的colormap设置为具有易于区分的颜色和令人愉悦的美感
线型=linspecer(N,“定性”);强制所有颜色都可区分(最多12种)
线型=linspecer(N,'sequential');强制颜色沿光谱变化
_______________________________________________
演示颜色的示例。
%线条颜色
N=6;
X=linspace(0,pi*31000);
Y=bsxfun(@(x,n)sin(x+2*n*pi/n),x',1:n);
C=林specer(N);
轴('NextPlot','replacechildren','ColorOrder',C);
绘图(X,Y,'linewidth',5)
ylim([-1.1.1]);
%更简单的线条颜色示例
N=6;X=linspace(0,pi*31000);
C=linspecer(N)
拖延;
对于ii=1:N
Y=sin(X+2*ii*pi/N);
图(X,Y,'color',C(ii,:),'linewidth',3);
等等
终止
%彩色地图示例
A=兰特(15);
图形图像c(A);%默认颜色映射
figure;imagesc(A);colormap(linspecer);%linspecer colormap
_______________________________________________
学分和功能来源:
颜色主要取自:
http://colorbrewer2.org辛西娅·布鲁尔、马克·哈洛尔和宾夕法尼亚州立大学
她从哲学的角度研究了这一点,并精心制作了颜色
美丽地
我从那里的许多人中做出选择,以决定在Matlab中绘制线条的最佳时机。我还对其中一种颜色做了一个小小的改变,我觉得它有点太亮了。此外,一些插值正在进行的顺序线样式。文件中包含Apache风格的软件许可证。
引用为
乔纳森·兰西(2021年)。美丽且可分辨的线条颜色+彩色地图(//www.tianjin-qmedu.com/matlabcentral/fileexchange/42673-beautiful-and-distinguishable-line-colors-colormap),MATLAB中央文件交换。恢复.
MATLAB版本兼容性
平台兼容性
窗户 马科斯 Linux标签
致谢
受到启发的:帕鲁利,最大不同颜色发生器,CubeHelix彩色地图生成器:美观且多功能!,ColorBrewer:吸引人且与众不同的彩色地图,Matlab2048,rgb2hex和hex2rgb,MatPlotLib感知一致颜色贴图,高效的二维直方图,无需工具箱,超绘图工具