0

在我的 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','-|--|:|-.');来调整颜色和符号,但它正在更改每一列而不是矩阵的颜色/符号。

4

2 回答 2

1

只需使用语法

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

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

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

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

我习惯于mod从一开始就绕回来。您可以使用任何您想要的逻辑,包括将不同的颜色和样式与两种不同的算术相结合。

于 2013-09-10T18:51:40.030 回答
0

这是正确的方法:

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

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

于 2015-08-05T13:49:09.027 回答