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

matlab,绘制多个不同颜色的矩阵,matlab,matrix,plot,Matlab,Matrix,Plot,在我的GUI中,我想在同一个绘图上以不同的颜色绘制多个矩阵。矩阵是从不同文件夹中的.mat文件组合而成的,因此我目前将它们保存在一个结构中。如何让绘图仪以不同的颜色和符号绘制每个矩阵?谢谢 编辑: 我试着用 plot(1:size(small_group,1),small_group,'.') set(0,'DefaultAxesColorOrder',[1 0 0;0 1 0]); 然而,这改变了每一行的颜色。我还没有调整过很多符号 我在结构中手动添加了多个矩阵 plot(small_gro

在我的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)
我希望能够使用
集(0,'DefaultAxeColor',[10;01 0]。。。
“DefaultAxesLineStyleOrder',”-|-|-:|-。)
调整颜色和符号,但它正在更改每列的颜色/符号,而不是矩阵。

只需使用语法即可

plot(mat1, 'r');
hold on;
plot(mat2, 'g');
但是,不要硬编码这些值,而是从您自己的表中计算它们:

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

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

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

这是正确的方法:

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

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

您尝试过什么?您是否尝试过使用plot命令的选项?使用我尝试过的方法编辑OP,您的意思是
plot(mat1,'r');等等地块(mat2,‘g’)?@peter,这就是我在命令窗口中测试它的方式。但是,此GUI允许用户选择要打印的文件或矩阵的数量,因此数量可能会有所不同。我尽量避免硬编码太多,因为我担心这可能会导致错误。