Matlab中的color 画线的多种颜色
一、转自:http://blog.sina.com.cn/s/blog_03f96e310106lped.html
注意:MATLAB中调色板色彩强度[0,1],0代表最暗,1代表最亮。
常用颜色的RGB值
--------------------------------------------
颜色 R G B 颜色 R G B
--------------------------------------------
黑 0 0 1 洋红 1 0 1
白 1 1 1 青蓝 0 1 1
红 1 0 0 天蓝 0.67 0 1
绿 0 1 0 橘黄 1 0.5 0
蓝 0 0 1 深红 0.5 0 0
黄 1 1 0 灰 0.5 0.5 0.5
--------------------------------------------
产生标准调色板的函数
-------------------------------------------------
函数名 调色板
-------------------------------------------------
Hsv 色彩饱和度,以红色开始,并以红色结束
Hot 黑色-红色-黄色-白色
Cool 青蓝和洋红的色度
Pink 粉红的色度
Gray 线型灰度
Bone 带蓝色的灰度
Jet Hsv的一种变形,以蓝色开始,以蓝色结束
Copper 线型铜色度
Prim 三棱镜,交替为红、橘黄、黄、绿和天蓝
Flag 交替为红、白、蓝和黑
--------------------------------------------------
缺省情况下,调用上述函数灰产生一个64×3的调色板,用户也可指定调色板大小。
Matlab画的线较多时,线的颜色的选取对图的美观是有很大的影响的。
提供了在不同线上画不同颜色简单易用的函数。Matlab-code
Examples demonstrating the colors.
% LINE COLORS
N=6;
X = linspace(0,pi*3,1000);
Y = bsxfun(@(x,n)sin(x+2*n*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,pi*3,1000);
C = linspecer(N)
hold off;
for ii=1:N
Y = sin(X+2*ii*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
注:C即为生成的RGB颜色(非常好用)
代码下载地址(百度网盘地址):linspecer
二、转自:http://anony3721.blog.163.com/blog/static/5119742013618113755733/
% 每次画曲线都要想要用那种线型,很麻烦,可以写个函数,
% 把所有的线型,marker什么的信息都输出。
clear; close all;
% demo data for plots with different line styles
z = peaks;
%% ---- input number of total lines -----
nLines = length(z);
% generate the space of linestyles, MarkerEdgeColors,Markers
basic_linestyles = cellstr(char('-',':','-.','--'));
basic_Markers = cellstr(char('o','x','+','*','s','d','v','^','<','>','p','h','.'));
MarkerEdgeColors =jet(nLines);
linestyles = repmat(basic_linestyles,ceil(nLines/numel(basic_linestyles)),1);
Markers = repmat(basic_Markers,ceil(nLines/numel(basic_Markers)),1);
% 1. 使用不用线型,不同标记,不同颜色,效果如下
figure; hold on;
for i = 1:nLines
plot(z(i, :), [linestyles{i} Markers{i}], 'Color', MarkerEdgeColors(i, :));
end
hold off;
% 2. 使用不用线型,不同颜色,效果如下
figure; hold on;
for i = 1:nLines
plot(z(i, :), linestyles{i}, 'Color', MarkerEdgeColors(i, :));
end
hold off;
%3. 仅使用不同颜色,效果如下:
figure; hold on;
for i = 1:nLines
plot(z(i, :),'Color',MarkerEdgeColors(i, :));
end
hold off;
%3. 仅使用不同线型,效果如下:
figure; hold on;
for i = 1:nLines
plot(z(i,:), strcat('k', linestyles{i})); % strcat('k', linestyles{i}) 等价于 ['k', linestyles{i}]
end
hold off;
测试结果:
三、MATLAB颜色的使用
可参考:http://blog.****.net/aldenphy/article/details/4470424、http://blog.sina.com.cn/s/blog_636a8b120100qfpr.html