MATLAB画图使用不同颜色

1. 自动使用不同的颜色

1
plot(x1,y2,x2,y2,x3,y3,...);

此方法比较简单,能满足一般需要。但默认只能在7种颜色之间循环,具体的颜色可通过以下命令查看

1
get(gca,'ColorOrder')

具体实例:

1
2
3
4
5
x1 = linspace(1,10,100);
y1 = sin(x1);
y2 = cos(x1);
y3 = 1./(x1);
plot(x1, y1, x1, y2, x1, y3);

2. 设置一个颜色rgb数组,通过循环使用不同颜色

基本命令:

1
plot(y,'color', [1 0 0]);

具体实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
close all;
clear;
clc;
M = 10;
N = 10;
data = rand(M,N); % 生成M组N点演示数据
color = [0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0 .5 0
0 .75 .75
] ; % 自定义M组颜色
figure(1);
hold on; % 在同一张图上绘制
for i = 1 : M
plot(data(i,:),'color',color(i,:));
pause(0.5); % 暂停0.5s
end

对于上面的color,你也可以使用系统定义好的colormap ,基本命令:

1
color = colormap(jet(M));  % M 是你要用的颜色数量

具体实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
close all;
clear;
clc;
M = 10;
N = 10;
data = rand(M,N); % 生成M组N点演示数据
color = colormap(jet(M));
figure(1);
hold on; % 在同一张图上绘制
for i = 1 : M
plot(data(i,:),'color',color(i,:));
pause(0.5); % 暂停0.5s
end

3. Reference: