我正在研究MATLAB项目,发现了legend
函数的一些奇怪行为。以下是重现该问题的代码:
X=rand(3,100);
a=rand(3,100);
b=rand(3,100);
figure(1); hold on;
plot(0.17663,'m');
plot(1.223,'y');
plot(X,a,'r');
plot(X,b,'g');
legend({'s1','s2','a','b'});
我的问题是:图中的图例显示了图3和图4的相同颜色。相反,它应分别显示红色和绿色。 legend
是否有问题?
答案 0 :(得分:1)
命令plot(X,a,'r')
和plot(X,b,'g')
不是您所期望的。由于X
是3-by-100
数组,因此它们将绘制100行,每行包含3个点,即开始,中间,结束。图例条目将对应于每一行,因此您应该期望100个红色图例条目。如果传递转置数组,您将看到不同的行为:plot(X.',a.','r')
。这将绘制3条线,每条线由100个点组成。