让我们定义一些示例数据:
r = rand(10,15);
v = randi(4,1,15);
方法一(更有趣):使用逗号分隔的列表
这将创建一个元胞数组并将其转换为comma-separated list 以将plot 称为plot(x1, y1, s1, x2, y2, s2, ...)。颜色仅限定义为plot的linespec strings(如'g'或'c+')。
linespecs = {'r' 'g' 'b' 'm'};
c = repmat({1:size(r,1)}, 1, size(r,2));
c(2,:) = num2cell(r, 1);
c(3,:) = linespecs(v);
plot(c{:})
方法2(更具可读性和灵活性):使用循环
linespecs = {'r' 'g' 'b' 'm'};
hold on
for k = 1:size(r,2)
plot(r(:,k), linespecs{v(k)})
end
此方法允许使用colormap 指定任意颜色,不限于 linespec 字符串:
colors = winter(4); % arbitrary colormap
hold on
for k = 1:size(r,2)
plot(r(:,k), 'color', colors(v(k),:))
end