MATLAB自带的line spec和colormaps是非常粗糙简单的。linspecer函数的线条绘图基于perceptive空间,而不是RGB空间。函数编写是基于Cynthia Brewer教授的研究成果,且易于使用。
linspecer函数创建一个N x 3的[R G B]色彩矩阵,使用举例如下:
lineStyles = linspecer(N); 创建N种颜色用于不同线条的绘制;
colormap(linspecer); 以容易区分并令人愉悦的美学风格设置colormap;
lineStyles = linspecer(N,‘qualitative’); 强制所有的色彩都是可区分辨别的,最多可以达到12种;
lineStyles = linspecer(N,‘sequential’); 强制所设置的色彩沿光谱变化。
% LINE COLORS
N=6;
X = linspace(0,pi3,1000);
Y = bsxfun(@(x,n)sin(x+2n*pi/N), X.’, 1:N);
C = linspecer(N);
axes(‘NextPlot’,‘replacechildren’, ‘ColorOrder’,C);
plot(X,Y,‘linewidth’,5)
ylim([-1.1 1.1]);
% SIMPLER LINE COLOR EXAMPLE
N = 6; X = linspace(0,pi3,1000);
C = linspecer(N)
hold off;
for ii=1:N
Y = sin(X+2ii*pi/N);
plot(X,Y,‘color’,C(ii,:),‘linewidth’,3);
hold on;
end
% COLORMAP EXAMPLE
A = rand(15);
figure; imagesc(A); % default colormap
figure; imagesc(A); colormap(linspecer); % linspecer colormap
MATLAB源码下载地址:
http://page5.dfpan.com/fs/clccj2e217295169371/
更多精彩文章请关注微信号: