默认的Matlab默认线规范和色彩图是惊人的粗糙。这个函数通过在*感知*空间(而不是RGB空间)中间距创建可区分的颜色。它是基于Cynthia Brewer教授的研究(colorbrewer!),但使用起来非常简单。
这个函数创建了一个Nx3的N [R B G]颜色数组
这些可以用来绘制许多具有可区分和好看的颜色的线条。
线型= linspecer (N);创建N种颜色供你使用:
colormap (linspecer);设置你的色彩图,使其具有易于区分的颜色和赏心悦目的美感
线型= linspecer (N,“定性”);强制所有颜色都是可区分的(最多12种)
线型= linspecer (N,“顺序”);迫使颜色沿着光谱变化
_______________________________________________
演示颜色的例子。
%线颜色
N = 6;
X = linspace(0,π* 3,1000);
Y = bsxfun(@(x,n)sin(x+2*n* / n), x。', 1: N);
C = linspecer (N);
轴(‘NextPlot’,‘replacechildren’,‘ColorOrder’,C);
情节(X, Y,“线宽”,5)
ylim ([-1.1 - 1.1]);
更简单的线条颜色例子
N = 6;X = linspace(0,π* 3,1000);
C = linspecer (N)
推迟;
2 = 1: N
Y = sin (X + 2 * 2 *π/ N);
情节(X, Y,“颜色”,C (ii):),“线宽”,3);
抓住;
结束
% COLORMAP例子
一个=兰德(15);
图;显示亮度图像(一);%默认colormap
图;显示亮度图像(一);colormap (linspecer);% linspecer colormap
_______________________________________________
积分和函数的来源:
这些颜色主要来源于:
http://colorbrewer2.org以及辛西娅·布鲁尔、马克·哈罗厄和宾夕法尼亚州立大学
她从心理计量学的角度研究了这一点,并精心制作了颜色
非常漂亮。
我从那里的许多选择,以决定最好的一次在Matlab中绘制直线。我还对其中一个我认为有点太亮的颜色做了一个小小的改变。另外,对于连续的线条样式也进行了一些插值。该文件中包含Apache-Style Software License。
引用作为
乔纳森·c·兰塞(2022年)。美丽的和可区分的线颜色+色彩图(//www.ru-cchi.com/matlabcentral/fileexchange/42673-beautiful-and-distinguishable-line-colors-colormap), MATLAB中央文件交换。检索.