matlab,绘制多个矩阵不同的颜色

时间:2013-09-10 15:37:40

标签: matlab matrix plot

在我的GUI中,我想在不同颜色的同一图上绘制多个矩阵。矩阵正在从不同文件夹中的.mat文件组合,所以我目前正在结构中保存它们。如何告诉绘图仪将每个矩阵绘制成不同的颜色和符号?感谢

编辑:

我正在尝试使用

plot(1:size(small_group,1),small_group,'.')
set(0,'DefaultAxesColorOrder',[1 0 0;0 1 0]);

然而,这改变了每一行的颜色。我还没有多少调整符号。

我在结构中手动添加了多个矩阵,

plot(small_group_struct(1,2).values)
hold on; plot(small_group_struct(1,1).values)

我希望能够使用set(0,'DefaultAxesColor', [1 0 0; 0 1 0], ... 'DefaultAxesLineStyleOrder','-|--|:|-.');来调整颜色和符号,但它会改变每列而不是矩阵的颜色/符号。

2 个答案:

答案 0 :(得分:1)

只需使用语法

即可
plot(mat1, 'r');
hold on;
plot(mat2, 'g');

但是,不是对值进行硬编码,而是从您自己的表中计算它们:

mystyles = {'r-', 'g:', 'k|'};

plotstyle = mystyles{mod(plotnum, length)+1};
plot(values, plotstyle);

我使用mod围绕开头回圈。您可以使用您想要的任何逻辑,包括将不同的颜色和样式与两个不同的算术组合。

答案 1 :(得分:0)

这是正确的方法:

aa=gca;
for i=1:N
plot(mat(:,:,i),'color',aa.ColorOrder(aa.ColorOrderIndex,:))
end

它将为同一矩阵中的所有行设置相同的颜色。