Matlab 没有图例颜色
Matlab no legend colors
有人知道为什么图例与图的颜色不匹配而只是黑色吗?
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
参数之一是标量,plot
will create as many Line
plot objects as there are elements in the other argument:
If one of X or Y is a scalar and the other is either a scalar or a
vector, then the plot function plots discrete points. However, to see
the points you must specify a marker symbol, for example,
plot(X,Y,'o').
因此,根据附图noActivity
有4个以上的元素,图例的前4个元素风格相同。 (您可以通过将 plot
的输出分配给一个变量来验证这一点,只要所有四个数据向量组合在一起并且每个数据点包含一个 Line
对象)。
一个简单的解决方法是编写
plot(noActivity, zeros(size(noActivity)), 'ko', ...
lowActivity, zeros(size(lowActivity)), 'go', ...
medActivity, zeros(size(medActivity)), 'bo', ...
highActivity, zeros(size(highActivity)), 'ro');
相反。这也应该更快并且内存效率更高,因为只会创建四个绘图对象。
有人知道为什么图例与图的颜色不匹配而只是黑色吗?
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
参数之一是标量,plot
will create as many Line
plot objects as there are elements in the other argument:
If one of X or Y is a scalar and the other is either a scalar or a vector, then the plot function plots discrete points. However, to see the points you must specify a marker symbol, for example, plot(X,Y,'o').
因此,根据附图noActivity
有4个以上的元素,图例的前4个元素风格相同。 (您可以通过将 plot
的输出分配给一个变量来验证这一点,只要所有四个数据向量组合在一起并且每个数据点包含一个 Line
对象)。
一个简单的解决方法是编写
plot(noActivity, zeros(size(noActivity)), 'ko', ...
lowActivity, zeros(size(lowActivity)), 'go', ...
medActivity, zeros(size(medActivity)), 'bo', ...
highActivity, zeros(size(highActivity)), 'ro');
相反。这也应该更快并且内存效率更高,因为只会创建四个绘图对象。