转载自:http://www.zhaoyanpeng.cn/archives/237
当需要对同一曲线不同参数下进行模拟时需要不同的颜色来加以区分:
1 2 3 4 5 6 7 | x = - 2 : 0.0001 : 2 ;
for i = 0 : 0.2 : 8
y = i * x.^ 2 ;
plot(x,y, 'color' ,[rand rand rand]);
hold on;
end grid;
|
延伸:MATLAB有一个叫颜色映象的数据结构来代表颜色值。颜色映象定义为一个有三列和若干行的矩阵。利用0到1之间的数,矩阵的每一行都代表了一种色彩。任一行的数字都指定了一个RGB值,即红、黄、蓝三种颜色的强度,形成一种特定的颜色。
当然,你也可以考虑下面的方法:
1 2 3 4 5 6 7 8 9 10 | x = - 2 : 0.0001 : 2 ;
coArray = [ 'y' , 'm' , 'c' , 'r' , 'g' , 'b' , 'w' , 'k' ];
% 初始颜色数组 for i = 0 : 0.2 : 4
y = i * x.^ 2 ;
coPos = randi([ 1 ,length(coArray)], 1 , 1 );
% 随机选取颜色
coVal = coArray(coPos);
% 取得随机颜色
plot(x,y,coVal);
hold on;
end grid;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 | x = - 2 : 0.1 : 2 ;
coArray = [ 'y' , 'm' , 'c' , 'r' , 'g' , 'b' , 'w' , 'k' ];
% 初始颜色数组 liArray = [ 'o' , 'x' , '+' , '*' , '-' , ':' , '-.' , '--' , '.' ];
% 初始线条数组 for i = 0 : 0.2 : 4
y = i * x.^ 2 ;
liPos = randi([ 1 ,length(liArray)], 1 , 1 );
% 随机选取线条
liVal = liArray(liPos);
% 取得随机线条
coPos = randi([ 1 ,length(coArray)], 1 , 1 );
% 随机选取颜色
coVal = coArray(coPos);
% 取得随机颜色
plot(x,y,[coVal liVal]);
hold on;
end grid;
|
(一)颜色映像的使用
语句colormap(M)将矩阵M作为当前图形窗口所用的颜色映象。例如:colormap(cool)装入了一个有64个输入项的cool颜色映象。colormap default装入了缺省的颜色映象(hsv);
函数plot、plot3、contour和contour3不使用颜色映象,它们使用列在plot颜色和线形表中的颜色。而大多数其它绘图函数,比如mesh、surf、fill、pcolor和它们的各种变形函数,使用当前的颜色映象;
接受颜色参量的绘图函数中的颜色参量通常采用以下三种形式之一:(1)字符串:代表plot颜色或线型表中的一种颜色,比如’r ‘代表红色; (2)三个输入的行向量:它代表一个单独的RGB值,比如[.25 .50 .75]; (3)矩阵:如果颜色参量是一个矩阵,其元素作了调整,并把它们用作当前颜色映象的下标;
(二)颜色映像的显示
数值显示方法:如hot(8);
图示显示方法:如pcolor函数;
1 2 3 4 5 6 | colormap(hot( 8 ));
pcolor([ 1 : 8 + 1 ;
1 : 8 + 1 ]');
% 或者竖直颜色方图 colormap(hot( 8 ));
pcolor([ 1 : 8 + 1 ;
1 : 8 + 1 ]);
% 注意:最后一种颜色为白色 |
1 2 3 4 5 | [x,y,z] = peaks;
mesh(x,y,z);
colormap(hsv);
axis([ - 3 3 - 3 3 - 6 8 ]);
colorbar;
|
推荐阅读
- 最优化问题|改进交叉算子的自适应人工蜂群黏菌算法
- matlab|嵌入均衡池的黏菌优化算法
- 最优化问题|加入领导者的黏菌优化算法
- MATLAB图形界面|基于Matlab的汽车出入库计时计费系统
- Matlab旅程|MATLAB的结构化程序设计
- matlab 内存管理 清理内存
- matlab中使用colormap没有效果
- Matlab|圆柱绕流
- MATLAB|Splart-Allmaras湍流模型及MATLAB编程~
- regionprops统计被标记的区域的面积分布,显示区域总数。