Matlab没有图例颜色

Matlab没有图例颜色,matlab,legend,Matlab,Legend,有人知道为什么传说与情节的颜色不匹配,而只是黑色的吗 figure; plot(noActivity,0,'ko',lowActivity,0,'go',medActivity,0,'bo',highActivity,0,'ro'); hold on; legend('no activity','low activity','medium activity','high activity'); stairs(integrals); 这就是它看起来的样子: 谢谢大家! 如果X或Y参数之一是标量

有人知道为什么传说与情节的颜色不匹配,而只是黑色的吗

figure;
plot(noActivity,0,'ko',lowActivity,0,'go',medActivity,0,'bo',highActivity,0,'ro');
hold on;
legend('no activity','low activity','medium activity','high activity');
stairs(integrals);
这就是它看起来的样子:


谢谢大家!

如果
X
Y
参数之一是标量,则:

如果X或Y中的一个是标量,而另一个是标量或 向量,然后绘图函数绘制离散点。但是,要看, 必须指定标记符号的点,例如, 图(X,Y,'o')

因此,根据所附的绘图
noActivity
有超过4个元素,因此图例的前四个元素具有相同的样式。(您可以通过将
plot
的输出分配给一个变量来验证这一点,该变量的长度与所有四个数据向量的长度相同,并且每个数据点包含一个
Line
对象)

一个简单的解决方法是写

plot(noActivity, zeros(size(noActivity)), 'ko', ...
    lowActivity, zeros(size(lowActivity)), 'go', ...
    medActivity, zeros(size(medActivity)), 'bo', ...
    highActivity, zeros(size(highActivity)), 'ro');

相反。这也应该更快,内存效率更高,因为只会创建四个绘图对象。

我的猜测是,对于
noActivity
lowActivity
等的每个元素,会创建一行
Line
,并且
noActivity
有4个或更多元素。因此,图例中仅显示了这些。